FHIR © HL7.org  |  Server Home  |  FHIR Server FHIR Server 3.7.11  |  FHIR Version n/a  User: [n/a]

Resource Measure/FHIR Server from package gov.healthit.ecqi.ecqms#current (360 ms)

Package gov.healthit.ecqi.ecqms
Type Measure
Id Id
FHIR Version R4
Source http://ecqi.healthit.gov/ecqms/https://build.fhir.org/ig/cqframework/ecqm-content-qicore-2024/Measure-AppropriateDXAScansForWomenUnder65FHIR.html
Url https://madie.cms.gov/Measure/AppropriateDXAScansForWomenUnder65FHIR
Version 0.2.001
Status draft
Date 2024-12-16T18:17:09+00:00
Name AppropriateDXAScansForWomenUnder65FHIR
Title Appropriate Use of DXA Scans in Women Under 65 Years Who Do Not Meet the Risk Factor Profile for Osteoporotic FractureFHIR
Experimental False
Description Percentage of female patients 50 to 64 years of age without select risk factors for osteoporotic fracture who received an order for a dual-energy x-ray absorptiometry (DXA) scan during the measurement period
Purpose UNKNOWN
Copyright This Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). This measure was developed under CMS Contract No. HHSM-500-2013-13011I, Task Order HHSM-500-TO0001. Mathematica and the National Committee for Quality Assurance (NCQA) supported development of this electronic measure. NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use. The measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2024 World Health Organization. All Rights Reserved. The Measure uses RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the Measure and does not endorse or recommend this or any other product. “HL7” is the registered trademark of Health Level Seven International.

Resources that use this resource

No resources found


Resources that this resource uses

No resources found



Narrative

Note: links and images are rebased to the (stated) source

Title: Appropriate Use of DXA Scans in Women Under 65 Years Who Do Not Meet the Risk Factor Profile for Osteoporotic FractureFHIR
Id: AppropriateDXAScansForWomenUnder65FHIR
Version: 0.2.001
Url: Appropriate Use of DXA Scans in Women Under 65 Years Who Do Not Meet the Risk Factor Profile for Osteoporotic FractureFHIR
short-name identifier:

CMS249FHIR

version-independent identifier:

urn:uuid:bf28f544-b8f0-49fd-8a67-ceafe0f0250e

version-specific identifier:

urn:uuid:2d4f7526-6eff-4629-8d25-568b00177ed5

endorser (CMS Consensus Based Entity) identifier:

3475e

publisher (CMS) identifier:

249FHIR

Effective Period: 2025-01-01..2025-12-31
Status: draft
Publisher: Centers for Medicare & Medicaid Services (CMS)
Author: National Committee for Quality Assurance
Description:

Percentage of female patients 50 to 64 years of age without select risk factors for osteoporotic fracture who received an order for a dual-energy x-ray absorptiometry (DXA) scan during the measurement period

Purpose:

UNKNOWN

Copyright:

This Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). This measure was developed under CMS Contract No. HHSM-500-2013-13011I, Task Order HHSM-500-TO0001. Mathematica and the National Committee for Quality Assurance (NCQA) supported development of this electronic measure. NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications.

Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications.

CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use.

The measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use.

This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.

ICD-10 copyright 2024 World Health Organization. All Rights Reserved.

The Measure uses RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the Measure and does not endorse or recommend this or any other product.

“HL7” is the registered trademark of Health Level Seven International.

Disclaimer:

The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.

Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].

Scoring:

Proportion

Rationale:

This measure is expected to increase recording of patient risk for fracture data and decrease the amount of inappropriate DXA scans. Current osteoporosis guidelines recommend using bone measurement testing to assess osteoporosis risk in women 65 years and older. In postmenopausal women younger than age 65, guidelines recommend using a formal clinical risk assessment tool to establish a patient's risk for osteoporosis, in order to determine whether to screen a patient for osteoporosis using bone measurement testing. Clinical information, such as age, body mass index (BMI), parental hip fracture history, and alcohol use, can be used to determine a woman's fracture risk (U.S. Preventive Services Task Force [USPSTF], 2018). Additionally, there are potentially avoidable harms associated with screening for osteoporosis in general, including exposure to radiation, false positive exams, and resulting side effects from unnecessary osteoporosis medications, which add costs to an already burdened health care system (Lim, Hoeksema, & Sherin, 2009).

Clinical recommendation statement:

USPSTF 2018: "The USPSTF recommends screening for osteoporosis with bone measurement testing to prevent osteoporotic fractures in women 65 years and older." This is a B recommendation.

"The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening for osteoporosis to prevent osteoporotic fractures in men." This is an I statement.

"The USPSTF recommends screening for osteoporosis with bone measurement testing to prevent osteoporotic fractures in postmenopausal women younger than 65 years who are at increased risk of osteoporosis, as determined by a formal clinical risk assessment tool." This is a B recommendation. "For postmenopausal women younger than 65 years who have at least 1 risk factor, a reasonable approach to determine who should be screened with bone measurement testing is to use a clinical risk assessment tool."

"Several tools are available to assess osteoporosis risk: the Simple Calculated Osteoporosis Risk Estimate (SCORE; Merck), Osteoporosis Risk Assessment Instrument (ORAI), Osteoporosis Index of Risk (OSIRIS), and the Osteoporosis Self-Assessment Tool (OST). These tools seem to perform similarly and are moderately accurate at predicting osteoporosis. The Fracture Risk Assessment (FRAX) tool (University of Sheffield), which assesses a person's 10-year risk of fracture, is also a commonly used tool."

"Because the benefits of treatment are greater in persons at higher risk of fracture, one approach is to perform bone measurement testing in postmenopausal women younger than 65 years who have a 10-year FRAX risk of major osteoporotic fracture (MOF) (without DXA) greater than that of a 65-year-old white woman without major risk factors. For example, in the United States, a 65-year-old white woman of mean height and weight without major risk factors has a 10-year FRAX risk of MOF of 8.4%."

Guidance (Usage): Patients are excluded from the measure if they have one or more risk factors for osteoporosis, including a result indicating that the patient should be considered for bone density testing on one of the following risk assessment instruments: - 10-year probability of major osteoporotic fracture of 8.4 percent or higher as determined by the FRAX - ORAI score of >=9 - OSIRIS score of <1 - OST score of <2 This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure:/ CMS249v7. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).
Population Criteria:
66460da2a7a1805d3b737654
Initial Population: Female patients ages 50 to 63 years at the start of the measurement period with an encounter during the measurement period
Denominator: Equals Initial Population
Denominator Exclusion: Exclude patients with one of the following risk factors. Risk factors are grouped by when they occur in relation to the measurement period. The following risk factors must be active during the measurement period: BMI <= 20 kg/m2 (must be the first BMI of the measurement period) Alcohol consumption (> two units per day (one unit is 12 oz. of beer, 4 oz. of wine, or 1 oz. of liquor)) The following risk factors may occur at any time in the patient's history prior to the start of the measurement period: Osteoporosis Osteopenia Gastric bypass Aromatase inhibitors Documentation of history of hip fracture in parent The following risk factors may occur at any time in the patient's history or during the measurement period: Glucocorticoids [cumulative medication duration >= 90 days] Osteoporotic fracture Malabsorption Syndromes: celiac disease, inflammatory bowel disease, ulcerative colitis, Crohn's disease, cystic fibrosis, malabsorption Chronic malnutrition Chronic liver disease Rheumatoid arthritis Hyperthyroidism Type I Diabetes End stage renal disease Osteogenesis imperfecta Ankylosing spondylitis Psoriatic arthritis Ehlers-Danlos syndrome Cushing's syndrome Hyperparathyroidism Marfan syndrome Lupus Chemotherapy Multiple myeloma Premature menopause Double or bilateral oophorectomy Eating disorder Amenorrhea Organ transplant
Numerator: Female patients who received an order for at least one DXA scan in the measurement period
Numerator Exclusion: Exclude patients with a result on one of the following tools, which indicates the patient should be considered for bone density testing, anytime in the patient’s history prior to the time of the first DXA scan during the measurement period: FRAX[R] ten-year probability of all major osteoporosis related fracture >= 8.4 percent ORAI score of >=9 OSIRIS score of <1 OST score of <2
Libraries:
AppropriateDXAScansForWomenUnder65FHIR
Terminology and Other Dependencies:
  • Library/Status|1.8.000
  • Library/QICoreCommon|2.1.000
  • Library/FHIRHelpers|4.4.000
  • Library/CumulativeMedicationDuration|4.1.000
  • Current Procedural Terminology (CPT®)
  • Observation Category Codes
  • Logical Observation Identifiers, Names and Codes (LOINC)
  • SNOMED CT (all versions)
  • DXA (Dual energy Xray Absorptiometry) Scan
  • Office Visit
  • Preventive Care Services - Established Office Visit, 18 and Up
  • Preventive Care Services-Initial Office Visit, 18 and Up
  • Outpatient Consultation
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089
  • Telephone Visits
  • Osteoporosis
  • Osteopenia
  • Gastric Bypass Surgery
  • Aromatase Inhibitors
  • History of hip fracture in parent
  • Glucocorticoids (oral only)
  • Osteoporotic Fractures
  • Malabsorption Syndromes
  • Chronic Malnutrition
  • Chronic Liver Disease
  • Rheumatoid Arthritis
  • Hyperthyroidism
  • Type 1 Diabetes
  • End Stage Renal Disease
  • Osteogenesis Imperfecta
  • Ankylosing Spondylitis
  • Psoriatic Arthritis
  • Ehlers Danlos Syndrome
  • Cushings Syndrome
  • Hyperparathyroidism
  • Marfan's Syndrome
  • Lupus
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1011
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1013
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1039
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1022
  • Chemotherapy
  • Bilateral Oophorectomy
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1048
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1035
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1032
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1028
  • Major Organ Transplant Other Than Kidney
  • Kidney Transplant
  • Bone Marrow Transplant
  • Parameters:
    name use min max type
    Measurement Period In 0 1 Period
    ErrorLevel In 0 1 string
    Numerator Out 0 1 boolean
    Denominator Out 0 1 boolean
    Initial Population Out 0 1 boolean
    Denominator Exclusions Out 0 1 boolean
    Numerator Exclusion Out 0 1 boolean
    DataRequirements:
    Resource Type Resource Elements Valueset Name Valueset
    Patient(QICorePatient)
    ServiceRequest(QICoreServiceRequest) code authoredOn authoredOn.value status status.value intent intent.value DXA (Dual energy Xray Absorptiometry) Scan DXA (Dual energy Xray Absorptiometry) Scan
    Encounter(QICoreEncounter) type status status.value period
    Encounter(QICoreEncounter) type status status.value period Office Visit Office Visit
    Encounter(QICoreEncounter) type status status.value period Preventive Care Services Established Office Visit, 18 and Up Preventive Care Services - Established Office Visit, 18 and Up
    Encounter(QICoreEncounter) type status status.value period Preventive Care Services Initial Office Visit, 18 and Up Preventive Care Services-Initial Office Visit, 18 and Up
    Encounter(QICoreEncounter) type status status.value period Outpatient Consultation Outpatient Consultation
    Encounter(QICoreEncounter) type status status.value period Virtual Encounter http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089
    Encounter(QICoreEncounter) type status status.value period Telephone Visits Telephone Visits
    Observation(Observation Body Mass Index Profile) effective value status status.value
    Observation(QICoreObservation) code effective value status status.value category
    Observation(QICoreObservation) code effective status status.value category History of hip fracture in parent History of hip fracture in parent
    Observation(QICoreObservation) code value status status.value category effective
    Observation(QICoreObservation) code value status status.value category effective
    Observation(QICoreObservation) code value status status.value category effective
    Observation(QICoreObservation) code value status status.value category effective
    Condition(QICoreCondition) code Osteoporosis Without Current Fracture Osteoporosis
    Condition(QICoreCondition) code Osteopenia Osteopenia
    Condition(QICoreCondition) code Osteoporosis With Current Fracture Osteoporotic Fractures
    Condition(QICoreCondition) code Malabsorption Syndromes Malabsorption Syndromes
    Condition(QICoreCondition) code Chronic Malnutrition Chronic Malnutrition
    Condition(QICoreCondition) code Chronic Liver Disease Chronic Liver Disease
    Condition(QICoreCondition) code Rheumatoid Arthritis Rheumatoid Arthritis
    Condition(QICoreCondition) code Hyperthyroidism Hyperthyroidism
    Condition(QICoreCondition) code Type 1 Diabetes Type 1 Diabetes
    Condition(QICoreCondition) code End Stage Renal Disease End Stage Renal Disease
    Condition(QICoreCondition) code Osteogenesis Imperfecta Osteogenesis Imperfecta
    Condition(QICoreCondition) code Ankylosing Spondylitis Ankylosing Spondylitis
    Condition(QICoreCondition) code Psoriatic Arthritis Psoriatic Arthritis
    Condition(QICoreCondition) code Ehlers Danlos Syndrome Ehlers Danlos Syndrome
    Condition(QICoreCondition) code Cushings Syndrome Cushings Syndrome
    Condition(QICoreCondition) code Hyperparathyroidism Hyperparathyroidism
    Condition(QICoreCondition) code Marfan's Syndrome Marfan's Syndrome
    Condition(QICoreCondition) code Lupus Lupus
    Condition(QICoreCondition) code Multiple Myeloma http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1011
    Condition(QICoreCondition) code Premature Menopause http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1013
    Condition(QICoreCondition) code Eating Disorders http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1039
    Condition(QICoreCondition) code Amenorrhea http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1022
    Procedure(QICoreProcedure) code performed status status.value Gastric Bypass Surgery Gastric Bypass Surgery
    Procedure(QICoreProcedure) code status status.value performed Bilateral Oophorectomy Bilateral Oophorectomy
    Procedure(QICoreProcedure) code status status.value performed Evidence of Bilateral Oophorectomy http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1048
    Procedure(QICoreProcedure) code status status.value performed Unilateral Oophorectomy Right http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1032
    Procedure(QICoreProcedure) code bodySite status status.value performed Unilateral Oophorectomy, Unspecified Laterality http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1035
    Procedure(QICoreProcedure) code status status.value performed Unilateral Oophorectomy Left http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1028
    Procedure(QICoreProcedure) code status status.value performed Major Transplant Major Organ Transplant Other Than Kidney
    Procedure(QICoreProcedure) code status status.value performed Kidney Transplant Kidney Transplant
    Procedure(QICoreProcedure) code status status.value performed Bone Marrow Transplant Bone Marrow Transplant
    Procedure(QICoreProcedure) code status status.value performed Chemotherapy Chemotherapy
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Aromatase Inhibitors Aromatase Inhibitors
    MedicationRequest(QICoreMedicationRequest) medication.reference status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Glucocorticoids (oral only) Glucocorticoids (oral only)
    Direct Reference Codes:
    display code system
    Unlisted preventive medicine service 99429 http://www.ama-assn.org/go/cpt
    survey survey http://terminology.hl7.org/CodeSystem/observation-category
    Alcoholic drinks per day 74013-4 http://loinc.org
    Right (qualifier value) 24028007 http://snomed.info/sct
    Left (qualifier value) 7771000 http://snomed.info/sct
    Major osteoporotic fracture 10-year probability [Likelihood] Fracture Risk Assessment 90265-0 http://loinc.org
    Osteoporosis Risk Assessment Instrument 98139-9 http://loinc.org
    Osteoporosis Index of Risk panel 98133-2 http://loinc.org
    Osteoporosis Self-Assessment Tool 98146-4 http://loinc.org
    Logic Definitions:
    Group Scoring Population Criteria Expression
    66460da2a7a1805d3b737654 Group scoring: proportion Measure scoring:

    Proportion

    Type:

    Process

    Rate Aggregation: None
    Improvement Notation:

    increase

    Initial Population
    define "Initial Population":
      AgeInYearsAt(date from start of "Measurement Period") in Interval[50, 63]
        and Patient.gender = 'female'
        and exists "Qualifying Encounter"
    Denominator
    define "Denominator":
      "Initial Population"
    Denominator Exclusion
    define "Denominator Exclusions":
      "Has Risk Factor Active During the Measurement Period"
        or "Has Risk Factor Any Time in History Prior to Measurement Period"
        or "Has Risk Factor Any Time in History or During Measurement Period"
    Numerator
    define "Numerator":
      exists "DXA Scan Order During Measurement Period"
    Numerator Exclusion
    define "Numerator Exclusion":
      exists "Osteoporosis Fracture Risk Assessment Prior to First DXA Scan"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR DXA Scan Order During Measurement Period
    define "DXA Scan Order During Measurement Period":
      ( ( [ServiceRequest: "DXA (Dual energy Xray Absorptiometry) Scan"] ).isDiagnosticStudyOrder ( ) ) DXA
        where DXA.authoredOn.toInterval ( ) during "Measurement Period"
        // and DXA.doNotPerform is not true
        // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447 
        
        
        sort by authoredOn asc
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Numerator
    define "Numerator":
      exists "DXA Scan Order During Measurement Period"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Qualifying Encounter
    define "Qualifying Encounter":
      ( ( [Encounter: "Office Visit"]
          union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]
          union ( [Encounter] E
              where exists ( ( E.type ) T
                  where T ~ "Unlisted preventive medicine service"
              )
          )
          union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]
          union [Encounter: "Outpatient Consultation"]
          union [Encounter: "Virtual Encounter"]
          union [Encounter: "Telephone Visits"]
      ).isEncounterPerformed ( ) ) ValidEncounters
        where ValidEncounters.period.toInterval ( ) during day of "Measurement Period"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Initial Population
    define "Initial Population":
      AgeInYearsAt(date from start of "Measurement Period") in Interval[50, 63]
        and Patient.gender = 'female'
        and exists "Qualifying Encounter"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Denominator
    define "Denominator":
      "Initial Population"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR First BMI in Measurement Period
    define "First BMI in Measurement Period":
      First(((["observation-bmi"]).isObservationBMI()) BMIRatio
          where BMIRatio.effective.toInterval() during "Measurement Period"
            and BMIRatio.value as Quantity is not null
          sort by start of effective.toInterval()
      )
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR First BMI in Measurement Period Less Than or Equal to 20 kg m2
    define "First BMI in Measurement Period Less Than or Equal to 20 kg m2":
      "First BMI in Measurement Period" FirstBMI
        where FirstBMI.value as Quantity <= 20 'kg/m2'
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR First Average Number of Drinks Assessments Indicating More Than Two Per Day
    define "First Average Number of Drinks Assessments Indicating More Than Two Per Day":
      First((([Observation: "Alcoholic drinks per day"]).isAssessmentPerformed()) AverageDrinks
          where start of AverageDrinks.effective.toInterval() during "Measurement Period"
            and AverageDrinks.value as Quantity > 2 '{drinks}/d'
          sort by start of effective.toInterval()
      )
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Has Risk Factor Active During the Measurement Period
    define "Has Risk Factor Active During the Measurement Period":
      "First BMI in Measurement Period Less Than or Equal to 20 kg m2" is not null
        or "First Average Number of Drinks Assessments Indicating More Than Two Per Day" is not null
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Has Risk Factor Any Time in History Prior to Measurement Period
    define "Has Risk Factor Any Time in History Prior to Measurement Period":
      exists ( ( [Condition: "Osteoporosis Without Current Fracture"] OsteoporosisDiagnosis
            where OsteoporosisDiagnosis.prevalenceInterval ( ) starts before start of "Measurement Period"
        )
          union ( [Condition: "Osteopenia"] OsteopeniaDiagnosis
              where OsteopeniaDiagnosis.prevalenceInterval ( ) starts before start of "Measurement Period"
          )
          union ( ( ( ( [Procedure: "Gastric Bypass Surgery"] ).isProcedurePerformed ( ) ) GastricBypass
                where GastricBypass.performed.toInterval ( ) ends before start of "Measurement Period"
            )
              union ( ( ( [MedicationRequest: "Aromatase Inhibitors"] ).isMedicationActive ( ) ) AromataseInhibitorActive
                  where CMD."MedicationRequestPeriod" ( AromataseInhibitorActive ) starts before start of "Measurement Period"
              )
              union ( ( ( [MedicationRequest: "Aromatase Inhibitors"] ).isMedicationOrder ( ) ) AromataseInhibitorOrder
                  where AromataseInhibitorOrder.authoredOn.toInterval ( ) before start of "Measurement Period"
              )
              union ( ( [Observation: "History of hip fracture in parent"] ).isAssessmentPerformed ( ) ) ParentFractureHistory
                where start of ParentFractureHistory.effective.toInterval ( ) before start of "Measurement Period"
          )
      )
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Glucocorticoid Active Medication Days
    define "Glucocorticoid Active Medication Days":
      ( ( ( ( [MedicationRequest: "Glucocorticoids (oral only)"] ).isMedicationActive ( ) ) OralGlucocorticoid
          where ( OralGlucocorticoid ).medicationRequestPeriod ( ) starts before end of "Measurement Period" ) Glucocorticoid
          return ( Glucocorticoid ).medicationRequestPeriod ( )
            intersect Interval[Patient.birthDate, date from end of "Measurement Period"]
      ).cumulativeDuration ( )
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Has 90 or More Active Glucocorticoid Medication Days
    define "Has 90 or More Active Glucocorticoid Medication Days":
      "Glucocorticoid Active Medication Days" >= 90
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Has Double or Bilateral Oophorectomy
    define "Has Double or Bilateral Oophorectomy":
      exists ( ( [Procedure: "Bilateral Oophorectomy"] ).procedureInPatientHistory ( ) )
        or exists ( ( [Procedure: "Evidence of Bilateral Oophorectomy"] ).procedureInPatientHistory ( ) )
        or ( exists ( ( ( [Procedure: "Unilateral Oophorectomy, Unspecified Laterality"] UnilateralOophorectomy
                  where exists ( UnilateralOophorectomy.bodySite C
                      where C ~ "Right (qualifier value)"
                  )
              )
                union [Procedure: "Unilateral Oophorectomy Right"]
            ).procedureInPatientHistory ( )
          )
            and exists ( ( ( [Procedure: "Unilateral Oophorectomy, Unspecified Laterality"] UnilateralOophorectomy
                    where exists ( UnilateralOophorectomy.bodySite D
                        where D ~ "Left (qualifier value)"
                    )
                )
                  union [Procedure: "Unilateral Oophorectomy Left"]
              ).procedureInPatientHistory ( )
            )
        )
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Has Organ Transplants
    define "Has Organ Transplants":
      exists ( [Procedure: "Major Transplant"]
          union [Procedure: "Kidney Transplant"]
          union [Procedure: "Bone Marrow Transplant"]
      ).procedureInPatientHistory ( )
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Has Risk Factor Any Time in History or During Measurement Period
    define "Has Risk Factor Any Time in History or During Measurement Period":
      "Has 90 or More Active Glucocorticoid Medication Days"
        or exists ( [Condition: "Osteoporosis With Current Fracture"]
            union [Condition: "Malabsorption Syndromes"]
            union [Condition: "Chronic Malnutrition"]
            union [Condition: "Chronic Liver Disease"]
            union [Condition: "Rheumatoid Arthritis"]
            union [Condition: "Hyperthyroidism"]
            union [Condition: "Type 1 Diabetes"]
            union [Condition: "End Stage Renal Disease"]
            union [Condition: "Osteogenesis Imperfecta"]
            union [Condition: "Ankylosing Spondylitis"]
            union [Condition: "Psoriatic Arthritis"]
            union [Condition: "Ehlers Danlos Syndrome"]
            union [Condition: "Cushings Syndrome"]
            union [Condition: "Hyperparathyroidism"]
            union [Condition: "Marfan's Syndrome"]
            union [Condition: "Lupus"]
            union [Condition: "Multiple Myeloma"]
            union [Condition: "Premature Menopause"]
            union [Condition: "Eating Disorders"]
            union [Condition: "Amenorrhea"]
        ).diagnosisInPatientHistory ( )
        or exists ( [Procedure: "Chemotherapy"] ).procedureInPatientHistory ( )
        or "Has Double or Bilateral Oophorectomy"
        or "Has Organ Transplants"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Denominator Exclusions
    define "Denominator Exclusions":
      "Has Risk Factor Active During the Measurement Period"
        or "Has Risk Factor Any Time in History Prior to Measurement Period"
        or "Has Risk Factor Any Time in History or During Measurement Period"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Osteoporosis Fracture Risk Assessment Prior to First DXA Scan
    define "Osteoporosis Fracture Risk Assessment Prior to First DXA Scan":
      ( ( ( ( [Observation: "Major osteoporotic fracture 10-year probability [Likelihood] Fracture Risk Assessment"] ).isAssessmentPerformed ( ) ) FRAX
          where FRAX.value >= 8.4 '%'
      )
        union ( ( ( [Observation: "Osteoporosis Risk Assessment Instrument"] ).isAssessmentPerformed ( ) ) ORAI
            where ORAI.value as Integer >= 9
        )
        union ( ( ( [Observation: "Osteoporosis Index of Risk panel"] ).isAssessmentPerformed ( ) ) OSIRIS
            where OSIRIS.value as Quantity < 1.0
        )
        union ( ( ( [Observation: "Osteoporosis Self-Assessment Tool"] ).isAssessmentPerformed ( ) ) OST
            where OST.value as Quantity < 2.0
        ) ) RiskAssessment
        where start of RiskAssessment.effective.toInterval ( ) before First("DXA Scan Order During Measurement Period").authoredOn
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR Numerator Exclusion
    define "Numerator Exclusion":
      exists "Osteoporosis Fracture Risk Assessment Prior to First DXA Scan"
    Library Name Name
    Status isDiagnosticStudyOrder
    //Diagnostic Study, Order: active and completed only
    define fluent function isDiagnosticStudyOrder(ServiceRequest List<ServiceRequest>):
      ServiceRequest S
        where S.status in { 'active', 'completed' }
          and S.intent = 'order'
    Library Name Name
    QICoreCommon toInterval
    /*
    @description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
    @comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
    to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
    representations for timing-valued elements in QICore, allowing this function to be used across any resource.
    The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
    The intent of this function is to provide a clear and concise mechanism to treat single
    elements that have multiple possible representations as intervals so that logic doesn't have to account
    for the variability. More complex calculations (such as medication request period or dispense period
    calculation) need specific guidance and consideration. That guidance may make use of this function, but
    the focus of this function is on single element calculations where the semantics are unambiguous.
    If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
    If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
    and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
    If the input is a DateTime Interval, the result is the input.
    If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
    is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
    immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
    If the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval
    */
    define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
      case
    	  when choice is DateTime then
        	Interval[choice as DateTime, choice as DateTime]
    		when choice is Interval<DateTime> then
      		choice as Interval<DateTime>
    		when choice is Quantity then
    		  Interval[Patient.birthDate + (choice as Quantity),
    			  Patient.birthDate + (choice as Quantity) + 1 year)
    		when choice is Interval<Quantity> then
    		  Interval[Patient.birthDate + (choice.low as Quantity),
    			  Patient.birthDate + (choice.high as Quantity) + 1 year)
    		when choice is Timing then
          Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
    		else
    			null as Interval<DateTime>
    	end
    Library Name Name
    Status isEncounterPerformed
    //Encounter, Performed
    //General usage unless required otherwise by measure intent (e.g., follow-up encounters)
    define fluent function isEncounterPerformed(Enc List<Encounter>):
      Enc E
        where E.status in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}
    Library Name Name
    FHIRHelpers ToConcept
    /*
    @description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
    */
    define function ToConcept(concept FHIR.CodeableConcept):
        if concept is null then
            null
        else
            System.Concept {
                codes: concept.coding C return ToCode(C),
                display: concept.text.value
            }
    Library Name Name
    Status isObservationBMI
    define fluent function isObservationBMI(Obs List<"QICore.observation-bmi">):
      Obs O
        where O.status in { 'final', 'amended', 'corrected' }
    Library Name Name
    Status isAssessmentPerformed
    //This library contains functions that are based on QDM 5.6 to QICore 4.1.1 March 2023 (https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns---QICore-v4.1.1). The functions may appear similar to some QICoreCommon functions but different in that they have constraints that are relevant for measures authored by NCQA.
    
    //Assessment, Performed
    define fluent function isAssessmentPerformed(Obs List<Observation>):
      Obs O
        where O.status in { 'final', 'amended', 'corrected' }
              and exists ( O.category ObservationCategory
              where ( ObservationCategory ) ~ "survey"
          )
    Library Name Name
    QICoreCommon prevalenceInterval
    /*
    @description: Returns an interval representing the normalized prevalence period of a given Condition.
    @comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from
    onset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting 
    interval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.
    */
    define fluent function prevalenceInterval(condition Condition):
    if condition.clinicalStatus ~ "active"
      or condition.clinicalStatus ~ "recurrence"
      or condition.clinicalStatus ~ "relapse" then
      Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
    else
        (end of condition.abatementInterval()) abatementDate
        return if abatementDate is null then
          Interval[start of condition.onset.toInterval(), abatementDate)
        else
          Interval[start of condition.onset.toInterval(), abatementDate]
    Library Name Name
    Status isProcedurePerformed
    //Procedure, Performed
    define fluent function isProcedurePerformed(Proc List<Procedure>):
      Proc P
        where P.status ~ 'completed'
    Library Name Name
    Status isMedicationActive
    //Medication, Active
    define fluent function isMedicationActive(MedicationRequest List<MedicationRequest>):
      MedicationRequest M
        where M.status = 'active'
          and M.intent = 'order'
    Library Name Name
    CumulativeMedicationDuration MedicationRequestPeriod
    /*
    Now that we have a ToDaily function, we can approach calculation of the
    duration of medication for an order. First, consider the definitions
    for each element:
    * 1 and only 1 dosageInstruction
    * 1 and only 1 doseAndRate
    * 1 timing with 1 repeat
    * frequency, frequencyMax, defaulting to 1
    * period, periodUnit, defaulting to 1 'd'
    * doseQuantity or doseRange
    * timeOfDay
    * authoredOn: The date the prescription was written
    * dispenseRequest.validityPeriod: Time period supply is authorized for
    * dispenseRequest.quantity: amount of medication supplied per dispense
    * dispenseRequest.numberOfRepeatsAllowed: number of refills authorized
    * dispenseRequest.expectedSupplyDuration: number of days supply per dispense
    * dosageInstruction.timing.repeat.boundsDuration: total duration of the repeat
    * dosageInstruction.timing.repeat.boundsRange: range of durations of the repeat
    * dosageInstruction.timing.repeat.boundsPeriod: period bounds of the repeat
    * dosageInstruction.timing.repeat.count: number of times to repeat
    * dosageInstruction.timing.repeat.countMax: maximum number of times to repeat
    * dosageInstruction.timing.repeat.frequency: event occurs frequency times per period
    * dosageInstruction.timing.repeat.frequencyMax: event occurs up to frequencyMax times per period
    * dosageInstruction.timing.repeat.period: event occurs frequency times per period
    * dosageInstruction.timing.repeat.periodMax: upper limit of period
    * dosageInstruction.timing.repeat.periodUnit: period duration (s | min | h | d | wk | mo | a)
    * dosageInstruction.timing.repeat.timeOfDay: time of day for the event (0..*)
    * dosageInstruction.timing.repeat.when: event timing (HS | WAKE | C | CM | CD | CV | AC | ACM...)
    * dosageInstruction.timing.code: BID | TID | QID | AM | PM | QD | QOD...
    * dosageInstruction.asNeeded
    * dosageInstruction.doseAndRate.doseQuantity
    * dosageInstruction.doseAndRate.doseRange
    If expectedSupplyDuration is present, then the duration is
        expectedSupplyDuration * (1 + numberOfRepeatsAllowed)
    If expectedSupplyDuration is not present, then it must be calculated based on the quantity, dosage, and frequency:
        (quantity / (dosage * frequency)) * (1 + numberOfRepeatsAllowed)
        dosage: Coalesce(end of doseAndRate.doseRange, doseAndRate.doseQuantity)
        frequency: Coalesce(frequencyMax, frequency)
        period: Quantity(period, periodUnit)
    If expectedSupplyDuration is not present and cannot be calculated, and the boundsPeriod is present (and completely specified), we can use that directly
        dosage.timing.repeat.boundsPeriod
    This calculation results in a number of days, which can then be turned into a period by anchoring that to the
    start of the validityPeriod or the authoredOn:
        Interval[earliestDispensable, earliestDispensable + expectedSupplyDuration - 1]
        earliestDispensable: Coalesce(start of validityPeriod, authoredOn)
    The following function illustrates this completely:
    */
    
    /*
    Calculates the Medication Period for a single MedicationRequest.
    MedicationRequest instances provided to this function are expected
    to conform to the [MMEMedicationRequest](http://build.fhir.org/ig/cqframework/opioid-mme-r4/StructureDefinition-mmemedicationrequest.html)
    profile, which expects:
    * 1 and only 1 dosageInstruction, multiple dosageInstruction elements will result in an error
    * 1 and only 1 doseAndRate, multiple doseAndRate elements will result in an error
    * 1 timing with 1 repeat, missing timing or repeat elements will result in a null
    * frequency, frequencyMax, defaulting to 1
    * period, periodUnit, defaulting to 1 'd'
    * timeOfDay
    * doseQuantity or doseRange, missing doseQuantity and doseRange will result in a null
    Note that MedicationRequest status is not considered by this calculation, as the
    list of MedicationRequest instances provided to this function should already have
    considered appropriate statuses, depending on the use case, typically `completed`.
    */
    define function MedicationRequestPeriod(Request "MedicationRequest"):
      Request R
        let
          dosage: singleton from R.dosageInstruction,
          doseAndRate: singleton from dosage.doseAndRate,
          timing: dosage.timing,
          frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),
          period: Quantity(timing.repeat.period, timing.repeat.periodUnit),
          doseRange: doseAndRate.dose,
          doseQuantity: doseAndRate.dose,
          dose: Coalesce(end of doseRange, doseQuantity),
          dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),
          boundsPeriod: timing.repeat.bounds as Interval<DateTime>,
          daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value,
          quantity: R.dispenseRequest.quantity,
          refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),
          startDate:
            Coalesce(
              date from start of boundsPeriod,
              date from R.authoredOn,
              date from start of R.dispenseRequest.validityPeriod
            ),
          totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)
        return
          if startDate is not null and totalDaysSupplied is not null then
            Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]
          else if startDate is not null and boundsPeriod."high" is not null then
            Interval[startDate, date from end of boundsPeriod]
          else
            null
    Library Name Name
    CumulativeMedicationDuration Quantity
    /**********************************************************************/
    /* Functions in this region are copied from opioid-mme-r4             */
    /**********************************************************************/
    
    define function Quantity(value Decimal, unit String):
      if value is not null then
        System.Quantity { value: value, unit: unit }
      else
        null
    Library Name Name
    CumulativeMedicationDuration ToDaily
    /*
     Goal is to get to number of days
     Two broad approaches to the calculation:
      1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered
      2) Based on relevant period, determine a covered interval and calculate the length of that interval in days
    This topic covers several use cases and illustrates how to calculate Cumulative
    Medication Duration for each type of medication resource using the supply and
    frequency approach.
    */
    
    /*
      For the first approach, we need to get from frequency to a frequency/day
      So we define ToDaily
    */
    
    /*
      Calculates daily frequency given frequency within a period
    */
    define function ToDaily(frequency System.Integer, period System.Quantity):
      case period.unit
        when 'h' then frequency * (24.0 / period.value)
        when 'min' then frequency * (24.0 / period.value) * 60
        when 's' then frequency * (24.0 / period.value) * 60 * 60
        when 'd' then frequency * (24.0 / period.value) / 24
        when 'wk' then frequency * (24.0 / period.value) / (24 * 7)
        when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
        when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
        when 'hour' then frequency * (24.0 / period.value)
        when 'minute' then frequency * (24.0 / period.value) * 60
        when 'second' then frequency * (24.0 / period.value) * 60 * 60
        when 'day' then frequency * (24.0 / period.value) / 24
        when 'week' then frequency * (24.0 / period.value) / (24 * 7)
        when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
        when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
        when 'hours' then frequency * (24.0 / period.value)
        when 'minutes' then frequency * (24.0 / period.value) * 60
        when 'seconds' then frequency * (24.0 / period.value) * 60 * 60
        when 'days' then frequency * (24.0 / period.value) / 24
        when 'weeks' then frequency * (24.0 / period.value) / (24 * 7)
        when 'months' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
        when 'years' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
        else Message(null, true, 'CMDLogic.ToDaily.UnknownUnit', ErrorLevel, 'Unknown unit ' & period.unit)
      end
    Library Name Name
    Status isMedicationOrder
    //Medication, Order: active and completed only
    define fluent function isMedicationOrder(MedicationRequest List<MedicationRequest>):
      MedicationRequest M
        where M.status in { 'active', 'completed' }
          and M.intent = 'order'
    Library Name Name
    CumulativeMedicationDuration cumulativeDuration
    /*
    Now that we have functions for determining the medication period for individual
    prescriptions, administrations, and dispenses, we can combine those using
    an overall cumulative medication duration calculation.
    There are two broad approaches to calculating cumulative duration, one that _collapses_
    overlapping intervals so that calculations are not duplicated, and one that _rolls out_
    overlapping intervals so that the durations are laid end-to-end.
    First, we define a function that simply calculates CumulativeDuration of a set of
    intervals:
    */
    define fluent function cumulativeDuration(Intervals List<Interval<Date>>):
       if Intervals is not null then ( Sum((collapse Intervals per day)X
            return all(difference in days between start of X and 
              end of X
            )+ 1
        )
      ) 
        else null
    Library Name Name
    CumulativeMedicationDuration medicationRequestPeriod
    define fluent function medicationRequestPeriod(Request "MedicationRequest"):
      Request R
        let
          dosage: singleton from R.dosageInstruction,
          doseAndRate: singleton from dosage.doseAndRate,
          timing: dosage.timing,
          frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),
          period: Quantity(timing.repeat.period, timing.repeat.periodUnit),
          doseRange: doseAndRate.dose,
          doseQuantity: doseAndRate.dose,
          dose: Coalesce(end of doseRange, doseQuantity),
          dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),
          boundsPeriod: timing.repeat.bounds as Interval<DateTime>,
          daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value,
          quantity: R.dispenseRequest.quantity,
          refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),
          startDate:
            Coalesce(
              date from start of boundsPeriod,
              date from R.authoredOn,
              date from start of R.dispenseRequest.validityPeriod
            ),
          totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)
        return
          if startDate is not null and totalDaysSupplied is not null then
            Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]
          else if startDate is not null and boundsPeriod."high" is not null then
            Interval[startDate, date from end of boundsPeriod]
          else
            null
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR diagnosisInPatientHistory
    define fluent function "diagnosisInPatientHistory"(Condition List<"Condition">):
      ( Condition ) Dx
        where Dx.prevalenceInterval ( ) starts on or before day of end of "Measurement Period"
    Library Name Name
    AppropriateDXAScansForWomenUnder65FHIR procedureInPatientHistory
    define fluent function "procedureInPatientHistory"(Procedure List<"Procedure">):
      ( ( Procedure ).isProcedurePerformed ( ) ) Proc
        where Proc.performed.toInterval ( ) ends on or before day of end of "Measurement Period"

    Source

    {
      "resourceType" : "Measure",
      "id" : "AppropriateDXAScansForWomenUnder65FHIR",
      "meta" : {
        "profile" : [
          "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm",
          "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm",
          "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"
        ]
      },
      "text" : {
        "status" : "extensions",
        "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"grid dict\">\n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">Appropriate Use of DXA Scans in Women Under 65 Years Who Do Not Meet the Risk Factor Profile for Osteoporotic FractureFHIR</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">AppropriateDXAScansForWomenUnder65FHIR</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.2.001</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Measure-AppropriateDXAScansForWomenUnder65FHIR.html\">Appropriate Use of DXA Scans in Women Under 65 Years Who Do Not Meet the Risk Factor Profile for Osteoporotic FractureFHIR</a></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n short-name identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>CMS249FHIR</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n version-independent identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>urn:uuid:bf28f544-b8f0-49fd-8a67-ceafe0f0250e</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n version-specific identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>urn:uuid:2d4f7526-6eff-4629-8d25-568b00177ed5</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n endorser (CMS Consensus Based Entity) identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>3475e</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n publisher (CMS) identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>249FHIR</span>\n </p>\n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Effective Period: </b></th>\n <td style=\"padding-left: 4px;\">2025-01-01..2025-12-31</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">Centers for Medicare &amp; Medicaid Services (CMS)</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Author: </b></th>\n <td style=\"padding-left: 4px;\">National Committee for Quality Assurance</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>Percentage of female patients 50 to 64 years of age without select risk factors for osteoporotic fracture who received an order for a dual-energy x-ray absorptiometry (DXA) scan during the measurement period</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Purpose: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>UNKNOWN</p>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Copyright: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare &amp; Medicaid Services (CMS). This measure was developed under CMS Contract No. HHSM-500-2013-13011I, Task Order HHSM-500-TO0001. Mathematica and the National Committee for Quality Assurance (NCQA) supported development of this electronic measure. NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications.</p>\n<p>Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications.</p>\n<p>CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use.</p>\n<p>The measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use.</p>\n<p>This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.</p>\n<p>ICD-10 copyright 2024 World Health Organization. All Rights Reserved.</p>\n<p>The Measure uses RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the Measure and does not endorse or recommend this or any other product.</p>\n<p>“HL7” is the registered trademark of Health Level Seven International.</p>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Disclaimer: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND.</p>\n<p>Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Scoring: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n <p style=\"margin-bottom: 5px;\">\n <span>Proportion </span>\n </p>\n \n \n \n </td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Rationale: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This measure is expected to increase recording of patient risk for fracture data and decrease the amount of inappropriate DXA scans. Current osteoporosis guidelines recommend using bone measurement testing to assess osteoporosis risk in women 65 years and older. In postmenopausal women younger than age 65, guidelines recommend using a formal clinical risk assessment tool to establish a patient's risk for osteoporosis, in order to determine whether to screen a patient for osteoporosis using bone measurement testing. Clinical information, such as age, body mass index (BMI), parental hip fracture history, and alcohol use, can be used to determine a woman's fracture risk (U.S. Preventive Services Task Force [USPSTF], 2018). Additionally, there are potentially avoidable harms associated with screening for osteoporosis in general, including exposure to radiation, false positive exams, and resulting side effects from unnecessary osteoporosis medications, which add costs to an already burdened health care system (Lim, Hoeksema, &amp; Sherin, 2009).</p>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Clinical recommendation statement: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>USPSTF 2018:\n&quot;The USPSTF recommends screening for osteoporosis with bone measurement testing to prevent osteoporotic fractures in women 65 years and older.&quot; This is a B recommendation.</p>\n<p>&quot;The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening for osteoporosis to prevent osteoporotic fractures in men.&quot; This is an I statement.</p>\n<p>&quot;The USPSTF recommends screening for osteoporosis with bone measurement testing to prevent osteoporotic fractures in postmenopausal women younger than 65 years who are at increased risk of osteoporosis, as determined by a formal clinical risk assessment tool.&quot; This is a B recommendation.\n&quot;For postmenopausal women younger than 65 years who have at least 1 risk factor, a reasonable approach to determine who should be screened with bone measurement testing is to use a clinical risk assessment tool.&quot;</p>\n<p>&quot;Several tools are available to assess osteoporosis risk: the Simple Calculated Osteoporosis Risk Estimate (SCORE; Merck), Osteoporosis Risk Assessment Instrument (ORAI), Osteoporosis Index of Risk (OSIRIS), and the Osteoporosis Self-Assessment Tool (OST). These tools seem to perform similarly and are moderately accurate at predicting osteoporosis. The Fracture Risk Assessment (FRAX) tool (University of Sheffield), which assesses a person's 10-year risk of fracture, is also a commonly used tool.&quot;</p>\n<p>&quot;Because the benefits of treatment are greater in persons at higher risk of fracture, one approach is to perform bone measurement testing in postmenopausal women younger than 65 years who have a 10-year FRAX risk of major osteoporotic fracture (MOF) (without DXA) greater than that of a 65-year-old white woman without major risk factors. For example, in the United States, a 65-year-old white woman of mean height and weight without major risk factors has a 10-year FRAX risk of MOF of 8.4%.&quot;</p>\n</div></td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Guidance (Usage): </b></th>\n <td style=\"padding-left: 4px;\">Patients are excluded from the measure if they have one or more risk factors for osteoporosis, including a result indicating that the patient should be considered for bone density testing on one of the following risk assessment instruments:\n- 10-year probability of major osteoporotic fracture of 8.4 percent or higher as determined by the FRAX\n- ORAI score of &gt;=9\n- OSIRIS score of &lt;1\n- OST score of &lt;2\n\nThis eCQM is a patient-based measure.\n\nThis FHIR-based measure has been derived from the QDM-based measure:/ CMS249v7.\n\nPlease refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Population Criteria: </b></th>\n <td style=\"padding-left: 4px;\">\n \n <table class=\"grid-dict\">\n \n <tr>\n <th><b>66460da2a7a1805d3b737654</b></th>\n </tr>\n \n \n <tr>\n <td>Initial Population:</td>\n\n \n \n <td>Female patients ages 50 to 63 years at the start of the measurement period with an encounter during the measurement period</td>\n \n \n\n </tr>\n \n <tr>\n <td>Denominator:</td>\n\n \n \n <td>Equals Initial Population</td>\n \n \n\n </tr>\n \n <tr>\n <td>Denominator Exclusion:</td>\n\n \n \n <td>Exclude patients with one of the following risk factors.\n\nRisk factors are grouped by when they occur in relation to the measurement period.\n\nThe following risk factors must be active during the measurement period:\nBMI &lt;= 20 kg/m2 (must be the first BMI of the measurement period)\nAlcohol consumption (&gt; two units per day (one unit is 12 oz. of beer, 4 oz. of wine, or 1 oz. of liquor))\n\nThe following risk factors may occur at any time in the patient's history prior to the start of the measurement period:\nOsteoporosis\nOsteopenia\nGastric bypass\nAromatase inhibitors\nDocumentation of history of hip fracture in parent\n\nThe following risk factors may occur at any time in the patient's history or during the measurement period:\nGlucocorticoids [cumulative medication duration &gt;= 90 days]\nOsteoporotic fracture\nMalabsorption Syndromes: celiac disease, inflammatory bowel disease, ulcerative colitis, Crohn's disease, cystic fibrosis, malabsorption\nChronic malnutrition\nChronic liver disease\nRheumatoid arthritis\nHyperthyroidism\nType I Diabetes \nEnd stage renal disease\nOsteogenesis imperfecta\nAnkylosing spondylitis\nPsoriatic arthritis\nEhlers-Danlos syndrome\nCushing's syndrome\nHyperparathyroidism\nMarfan syndrome\nLupus\nChemotherapy\nMultiple myeloma\nPremature menopause\nDouble or bilateral oophorectomy\nEating disorder\nAmenorrhea\nOrgan transplant</td>\n \n \n\n </tr>\n \n <tr>\n <td>Numerator:</td>\n\n \n \n <td>Female patients who received an order for at least one DXA scan in the measurement period</td>\n \n \n\n </tr>\n \n <tr>\n <td>Numerator Exclusion:</td>\n\n \n \n <td>Exclude patients with a result on one of the following tools, which indicates the patient should be considered for bone density testing, anytime in the patient’s history prior to the time of the first DXA scan during the measurement period:\nFRAX[R] ten-year probability of all major osteoporosis related fracture &gt;= 8.4 percent\nORAI score of &gt;=9 \nOSIRIS score of &lt;1\nOST score of &lt;2</td>\n \n \n\n </tr>\n \n \n </table>\n \n </td>\n </tr>\n \n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Libraries: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td><a href=\"Library-AppropriateDXAScansForWomenUnder65FHIR.html\">AppropriateDXAScansForWomenUnder65FHIR</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Terminology and Other Dependencies: </b></th>\n <td style=\"padding-left: 4px;\">\n \n <li><code>Library/Status|1.8.000</code></li>\n \n <li><code>Library/QICoreCommon|2.1.000</code></li>\n \n <li><code>Library/FHIRHelpers|4.4.000</code></li>\n \n <li><code>Library/CumulativeMedicationDuration|4.1.000</code></li>\n \n <li><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-CPT.html\">Current Procedural Terminology (CPT®)</a></li>\n \n <li><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</a></li>\n \n <li><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">Logical Observation Identifiers, Names and Codes (LOINC)</a></li>\n \n <li><a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">SNOMED CT (all versions)</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1051/expansion\">DXA (Dual energy Xray Absorptiometry) Scan</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1001/expansion\">Office Visit</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1025/expansion\">Preventive Care Services - Established Office Visit, 18 and Up</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1023/expansion\">Preventive Care Services-Initial Office Visit, 18 and Up</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1008/expansion\">Outpatient Consultation</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1089/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1080/expansion\">Telephone Visits</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1038/expansion\">Osteoporosis</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1049/expansion\">Osteopenia</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.198.12.1050/expansion\">Gastric Bypass Surgery</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1265/expansion\">Aromatase Inhibitors</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1040/expansion\">History of hip fracture in parent</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1266/expansion\">Glucocorticoids (oral only)</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1050/expansion\">Osteoporotic Fractures</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.199.12.1050/expansion\">Malabsorption Syndromes</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.199.12.1036/expansion\">Chronic Malnutrition</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.199.12.1035/expansion\">Chronic Liver Disease</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1005/expansion\">Rheumatoid Arthritis</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1015/expansion\">Hyperthyroidism</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.103.12.1020/expansion\">Type 1 Diabetes</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.353/expansion\">End Stage Renal Disease</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1044/expansion\">Osteogenesis Imperfecta</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1045/expansion\">Ankylosing Spondylitis</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1046/expansion\">Psoriatic Arthritis</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1047/expansion\">Ehlers Danlos Syndrome</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1009/expansion\">Cushings Syndrome</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1016/expansion\">Hyperparathyroidism</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1048/expansion\">Marfan's Syndrome</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1010/expansion\">Lupus</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1011/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1011</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1013/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1013</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1039/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1039</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1022/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1022</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.485/expansion\">Chemotherapy</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.471/expansion\">Bilateral Oophorectomy</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1048/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1048</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1035/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1035</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1032/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1032</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1028/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1028</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.198.12.1075/expansion\">Major Organ Transplant Other Than Kidney</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.109.12.1012/expansion\">Kidney Transplant</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.336/expansion\">Bone Marrow Transplant</a></li>\n \n </td>\n </tr>\n <tr>\n <th scope=\"row\"><b>Parameters:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>name</b></th>\n <th><b>use</b></th>\n <th><b>min</b></th>\n <th><b>max</b></th>\n <th><b>type</b></th>\n </tr>\n \n <tr>\n <td>Measurement Period</td>\n <td>In</td>\n <td>0</td>\n <td>1</td>\n <td>Period</td>\n </tr>\n \n <tr>\n <td>ErrorLevel</td>\n <td>In</td>\n <td>0</td>\n <td>1</td>\n <td>string</td>\n </tr>\n \n <tr>\n <td>Numerator</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n <tr>\n <td>Denominator</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n <tr>\n <td>Initial Population</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n <tr>\n <td>Denominator Exclusions</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n <tr>\n <td>Numerator Exclusion</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n </table>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\"><b>DataRequirements:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>Resource Type</b></th>\n <th><b>Resource Elements</b></th>\n <th><b>Valueset Name</b></th>\n <th><b>Valueset</b></th>\n </tr>\n \n <tr>\n <td>Patient(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-patient.html\">QICorePatient</a>)</td>\n <td>\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>ServiceRequest(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-servicerequest.html\">QICoreServiceRequest</a>)</td>\n <td>\n \n code\n \n authoredOn\n \n authoredOn.value\n \n status\n \n status.value\n \n intent\n \n intent.value\n \n </td>\n <td>\n \n \n DXA (Dual energy Xray Absorptiometry) Scan\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1051/expansion\">DXA (Dual energy Xray Absorptiometry) Scan</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Office Visit\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1001/expansion\">Office Visit</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Preventive Care Services Established Office Visit, 18 and Up\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1025/expansion\">Preventive Care Services - Established Office Visit, 18 and Up</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Preventive Care Services Initial Office Visit, 18 and Up\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1023/expansion\">Preventive Care Services-Initial Office Visit, 18 and Up</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Outpatient Consultation\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1008/expansion\">Outpatient Consultation</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Virtual Encounter\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1089/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Telephone Visits\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1080/expansion\">Telephone Visits</a></td>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/R4/bmi.html\">Observation Body Mass Index Profile</a>)</td>\n <td>\n \n effective\n \n value\n \n status\n \n status.value\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n value\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n \n History of hip fracture in parent\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1040/expansion\">History of hip fracture in parent</a></td>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n value\n \n status\n \n status.value\n \n category\n \n effective\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n value\n \n status\n \n status.value\n \n category\n \n effective\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n value\n \n status\n \n status.value\n \n category\n \n effective\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n value\n \n status\n \n status.value\n \n category\n \n effective\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Osteoporosis Without Current Fracture\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1038/expansion\">Osteoporosis</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Osteopenia\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1049/expansion\">Osteopenia</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Osteoporosis With Current Fracture\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1050/expansion\">Osteoporotic Fractures</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Malabsorption Syndromes\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.199.12.1050/expansion\">Malabsorption Syndromes</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Chronic Malnutrition\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.199.12.1036/expansion\">Chronic Malnutrition</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Chronic Liver Disease\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.199.12.1035/expansion\">Chronic Liver Disease</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Rheumatoid Arthritis\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1005/expansion\">Rheumatoid Arthritis</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Hyperthyroidism\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1015/expansion\">Hyperthyroidism</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Type 1 Diabetes\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.103.12.1020/expansion\">Type 1 Diabetes</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n End Stage Renal Disease\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.353/expansion\">End Stage Renal Disease</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Osteogenesis Imperfecta\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1044/expansion\">Osteogenesis Imperfecta</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Ankylosing Spondylitis\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1045/expansion\">Ankylosing Spondylitis</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Psoriatic Arthritis\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1046/expansion\">Psoriatic Arthritis</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Ehlers Danlos Syndrome\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1047/expansion\">Ehlers Danlos Syndrome</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Cushings Syndrome\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1009/expansion\">Cushings Syndrome</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Hyperparathyroidism\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1016/expansion\">Hyperparathyroidism</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Marfan's Syndrome\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1048/expansion\">Marfan's Syndrome</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Lupus\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.117.12.1010/expansion\">Lupus</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Multiple Myeloma\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1011/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1011</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Premature Menopause\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1013/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1013</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Eating Disorders\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1039/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1039</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Amenorrhea\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1022/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1022</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n performed\n \n status\n \n status.value\n \n </td>\n <td>\n \n \n Gastric Bypass Surgery\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.198.12.1050/expansion\">Gastric Bypass Surgery</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Bilateral Oophorectomy\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.471/expansion\">Bilateral Oophorectomy</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Evidence of Bilateral Oophorectomy\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1048/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1048</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Unilateral Oophorectomy Right\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1032/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1032</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n bodySite\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Unilateral Oophorectomy, Unspecified Laterality\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1035/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1035</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Unilateral Oophorectomy Left\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1028/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1028</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Major Transplant\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.198.12.1075/expansion\">Major Organ Transplant Other Than Kidney</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Kidney Transplant\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.109.12.1012/expansion\">Kidney Transplant</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Bone Marrow Transplant\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.336/expansion\">Bone Marrow Transplant</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n performed\n \n </td>\n <td>\n \n \n Chemotherapy\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.485/expansion\">Chemotherapy</a></td>\n </tr>\n \n <tr>\n <td>Medication(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medication.html\">QICoreMedication</a>)</td>\n <td>\n \n id\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Medication(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medication.html\">QICoreMedication</a>)</td>\n <td>\n \n id\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Medication(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medication.html\">QICoreMedication</a>)</td>\n <td>\n \n id\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>MedicationRequest(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medicationrequest.html\">QICoreMedicationRequest</a>)</td>\n <td>\n \n medication\n \n status\n \n status.value\n \n intent\n \n intent.value\n \n dosageInstruction\n \n dispenseRequest\n \n dispenseRequest.expectedSupplyDuration\n \n dispenseRequest.quantity\n \n dispenseRequest.numberOfRepeatsAllowed\n \n dispenseRequest.numberOfRepeatsAllowed.value\n \n authoredOn\n \n authoredOn.value\n \n dispenseRequest.validityPeriod\n \n </td>\n <td>\n \n \n Aromatase Inhibitors\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1265/expansion\">Aromatase Inhibitors</a></td>\n </tr>\n \n <tr>\n <td>MedicationRequest(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medicationrequest.html\">QICoreMedicationRequest</a>)</td>\n <td>\n \n medication.reference\n \n status\n \n status.value\n \n intent\n \n intent.value\n \n dosageInstruction\n \n dispenseRequest\n \n dispenseRequest.expectedSupplyDuration\n \n dispenseRequest.quantity\n \n dispenseRequest.numberOfRepeatsAllowed\n \n dispenseRequest.numberOfRepeatsAllowed.value\n \n authoredOn\n \n authoredOn.value\n \n dispenseRequest.validityPeriod\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>MedicationRequest(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medicationrequest.html\">QICoreMedicationRequest</a>)</td>\n <td>\n \n medication\n \n status\n \n status.value\n \n intent\n \n intent.value\n \n dosageInstruction\n \n dispenseRequest\n \n dispenseRequest.expectedSupplyDuration\n \n dispenseRequest.quantity\n \n dispenseRequest.numberOfRepeatsAllowed\n \n dispenseRequest.numberOfRepeatsAllowed.value\n \n authoredOn\n \n authoredOn.value\n \n dispenseRequest.validityPeriod\n \n </td>\n <td>\n \n \n Glucocorticoids (oral only)\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1266/expansion\">Glucocorticoids (oral only)</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n\n \n <tr>\n <th scope=\"row\"><b>Direct Reference Codes:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>display</b></th>\n <th><b>code</b></th>\n <th><b>system</b></th>\n </tr>\n \n <tr>\n <td>Unlisted preventive medicine service</td>\n <td>99429</td>\n <td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-CPT.html\">http://www.ama-assn.org/go/cpt</a></td>\n </tr>\n \n <tr>\n <td>survey</td>\n <td>survey</td>\n <td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">http://terminology.hl7.org/CodeSystem/observation-category</a></td>\n </tr>\n \n <tr>\n <td>Alcoholic drinks per day</td>\n <td>74013-4</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Right (qualifier value)</td>\n <td>24028007</td>\n <td><a href=\"https://browser.ihtsdotools.org/\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>Left (qualifier value)</td>\n <td>7771000</td>\n <td><a href=\"https://browser.ihtsdotools.org/\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>Major osteoporotic fracture 10-year probability [Likelihood] Fracture Risk Assessment</td>\n <td>90265-0</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Osteoporosis Risk Assessment Instrument</td>\n <td>98139-9</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Osteoporosis Index of Risk panel</td>\n <td>98133-2</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Osteoporosis Self-Assessment Tool</td>\n <td>98146-4</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Logic Definitions:</b></th>\n <td style=\"padding-left: 4px;\">\n \n <table class=\"grid-dict\">\n <tr>\n <th><b>Group</b></th>\n <th><b>Scoring</b></th>\n <th><b>Population Criteria</b></th>\n <th><b>Expression</b></th>\n </tr>\n <tr>\n \n <td> 66460da2a7a1805d3b737654 </td>\n <td colspan=\"3\" style=\"padding-left: 4px;\">\n \n <b>Group scoring:</b>\n \n <span> proportion </span>\n \n \n\n \n\n \n <b>Measure scoring:</b>\n \n <p style=\"margin-bottom: 5px;\">\n <span>Proportion</span>\n </p>\n \n \n\n \n\n \n <tr>\n \n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n <p style=\"margin-bottom: 5px;\">\n <span>Process </span>\n </p>\n \n \n \n </td>\n \n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Rate Aggregation: </b></th>\n <td colspan=\"3\" style=\"padding-left: 4px;\">None</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Improvement Notation: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <span>increase </span>\n </p>\n \n \n \n \n </td>\n </tr>\n \n\n \n\n </td>\n \n <tr>\n <td/>\n <td/>\n <td>Initial Population</td>\n <td>\n \n <pre><code class=\"language-cql\">define &quot;Initial Population&quot;:\n AgeInYearsAt(date from start of &quot;Measurement Period&quot;) in Interval[50, 63]\n and Patient.gender = 'female'\n and exists &quot;Qualifying Encounter&quot;</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Denominator</td>\n <td>\n \n <pre><code class=\"language-cql\">define &quot;Denominator&quot;:\n &quot;Initial Population&quot;</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Denominator Exclusion</td>\n <td>\n \n <pre><code class=\"language-cql\">define &quot;Denominator Exclusions&quot;:\n &quot;Has Risk Factor Active During the Measurement Period&quot;\n or &quot;Has Risk Factor Any Time in History Prior to Measurement Period&quot;\n or &quot;Has Risk Factor Any Time in History or During Measurement Period&quot;</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Numerator</td>\n <td>\n \n <pre><code class=\"language-cql\">define &quot;Numerator&quot;:\n exists &quot;DXA Scan Order During Measurement Period&quot;</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Numerator Exclusion</td>\n <td>\n \n <pre><code class=\"language-cql\">define &quot;Numerator Exclusion&quot;:\n exists &quot;Osteoporosis Fracture Risk Assessment Prior to First DXA Scan&quot;</code></pre>\n \n </td>\n </tr>\n \n \n \n </tr>\n </table>\n \n\n <table class=\"grid-dict\">\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>DXA Scan Order During Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;DXA Scan Order During Measurement Period&quot;:\n ( ( [ServiceRequest: &quot;DXA (Dual energy Xray Absorptiometry) Scan&quot;] ).isDiagnosticStudyOrder ( ) ) DXA\n where DXA.authoredOn.toInterval ( ) during &quot;Measurement Period&quot;\n // and DXA.doNotPerform is not true\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447 \n \n \n sort by authoredOn asc</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Numerator</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Numerator&quot;:\n exists &quot;DXA Scan Order During Measurement Period&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Qualifying Encounter</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Qualifying Encounter&quot;:\n ( ( [Encounter: &quot;Office Visit&quot;]\n union [Encounter: &quot;Preventive Care Services Established Office Visit, 18 and Up&quot;]\n union ( [Encounter] E\n where exists ( ( E.type ) T\n where T ~ &quot;Unlisted preventive medicine service&quot;\n )\n )\n union [Encounter: &quot;Preventive Care Services Initial Office Visit, 18 and Up&quot;]\n union [Encounter: &quot;Outpatient Consultation&quot;]\n union [Encounter: &quot;Virtual Encounter&quot;]\n union [Encounter: &quot;Telephone Visits&quot;]\n ).isEncounterPerformed ( ) ) ValidEncounters\n where ValidEncounters.period.toInterval ( ) during day of &quot;Measurement Period&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Initial Population</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Initial Population&quot;:\n AgeInYearsAt(date from start of &quot;Measurement Period&quot;) in Interval[50, 63]\n and Patient.gender = 'female'\n and exists &quot;Qualifying Encounter&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Denominator</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Denominator&quot;:\n &quot;Initial Population&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>First BMI in Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;First BMI in Measurement Period&quot;:\n First((([&quot;observation-bmi&quot;]).isObservationBMI()) BMIRatio\n where BMIRatio.effective.toInterval() during &quot;Measurement Period&quot;\n and BMIRatio.value as Quantity is not null\n sort by start of effective.toInterval()\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>First BMI in Measurement Period Less Than or Equal to 20 kg m2</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;First BMI in Measurement Period Less Than or Equal to 20 kg m2&quot;:\n &quot;First BMI in Measurement Period&quot; FirstBMI\n where FirstBMI.value as Quantity &lt;= 20 'kg/m2'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>First Average Number of Drinks Assessments Indicating More Than Two Per Day</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;First Average Number of Drinks Assessments Indicating More Than Two Per Day&quot;:\n First((([Observation: &quot;Alcoholic drinks per day&quot;]).isAssessmentPerformed()) AverageDrinks\n where start of AverageDrinks.effective.toInterval() during &quot;Measurement Period&quot;\n and AverageDrinks.value as Quantity &gt; 2 '{drinks}/d'\n sort by start of effective.toInterval()\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Has Risk Factor Active During the Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Has Risk Factor Active During the Measurement Period&quot;:\n &quot;First BMI in Measurement Period Less Than or Equal to 20 kg m2&quot; is not null\n or &quot;First Average Number of Drinks Assessments Indicating More Than Two Per Day&quot; is not null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Has Risk Factor Any Time in History Prior to Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Has Risk Factor Any Time in History Prior to Measurement Period&quot;:\n exists ( ( [Condition: &quot;Osteoporosis Without Current Fracture&quot;] OsteoporosisDiagnosis\n where OsteoporosisDiagnosis.prevalenceInterval ( ) starts before start of &quot;Measurement Period&quot;\n )\n union ( [Condition: &quot;Osteopenia&quot;] OsteopeniaDiagnosis\n where OsteopeniaDiagnosis.prevalenceInterval ( ) starts before start of &quot;Measurement Period&quot;\n )\n union ( ( ( ( [Procedure: &quot;Gastric Bypass Surgery&quot;] ).isProcedurePerformed ( ) ) GastricBypass\n where GastricBypass.performed.toInterval ( ) ends before start of &quot;Measurement Period&quot;\n )\n union ( ( ( [MedicationRequest: &quot;Aromatase Inhibitors&quot;] ).isMedicationActive ( ) ) AromataseInhibitorActive\n where CMD.&quot;MedicationRequestPeriod&quot; ( AromataseInhibitorActive ) starts before start of &quot;Measurement Period&quot;\n )\n union ( ( ( [MedicationRequest: &quot;Aromatase Inhibitors&quot;] ).isMedicationOrder ( ) ) AromataseInhibitorOrder\n where AromataseInhibitorOrder.authoredOn.toInterval ( ) before start of &quot;Measurement Period&quot;\n )\n union ( ( [Observation: &quot;History of hip fracture in parent&quot;] ).isAssessmentPerformed ( ) ) ParentFractureHistory\n where start of ParentFractureHistory.effective.toInterval ( ) before start of &quot;Measurement Period&quot;\n )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Glucocorticoid Active Medication Days</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Glucocorticoid Active Medication Days&quot;:\n ( ( ( ( [MedicationRequest: &quot;Glucocorticoids (oral only)&quot;] ).isMedicationActive ( ) ) OralGlucocorticoid\n where ( OralGlucocorticoid ).medicationRequestPeriod ( ) starts before end of &quot;Measurement Period&quot; ) Glucocorticoid\n return ( Glucocorticoid ).medicationRequestPeriod ( )\n intersect Interval[Patient.birthDate, date from end of &quot;Measurement Period&quot;]\n ).cumulativeDuration ( )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Has 90 or More Active Glucocorticoid Medication Days</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Has 90 or More Active Glucocorticoid Medication Days&quot;:\n &quot;Glucocorticoid Active Medication Days&quot; &gt;= 90</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Has Double or Bilateral Oophorectomy</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Has Double or Bilateral Oophorectomy&quot;:\n exists ( ( [Procedure: &quot;Bilateral Oophorectomy&quot;] ).procedureInPatientHistory ( ) )\n or exists ( ( [Procedure: &quot;Evidence of Bilateral Oophorectomy&quot;] ).procedureInPatientHistory ( ) )\n or ( exists ( ( ( [Procedure: &quot;Unilateral Oophorectomy, Unspecified Laterality&quot;] UnilateralOophorectomy\n where exists ( UnilateralOophorectomy.bodySite C\n where C ~ &quot;Right (qualifier value)&quot;\n )\n )\n union [Procedure: &quot;Unilateral Oophorectomy Right&quot;]\n ).procedureInPatientHistory ( )\n )\n and exists ( ( ( [Procedure: &quot;Unilateral Oophorectomy, Unspecified Laterality&quot;] UnilateralOophorectomy\n where exists ( UnilateralOophorectomy.bodySite D\n where D ~ &quot;Left (qualifier value)&quot;\n )\n )\n union [Procedure: &quot;Unilateral Oophorectomy Left&quot;]\n ).procedureInPatientHistory ( )\n )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Has Organ Transplants</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Has Organ Transplants&quot;:\n exists ( [Procedure: &quot;Major Transplant&quot;]\n union [Procedure: &quot;Kidney Transplant&quot;]\n union [Procedure: &quot;Bone Marrow Transplant&quot;]\n ).procedureInPatientHistory ( )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Has Risk Factor Any Time in History or During Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Has Risk Factor Any Time in History or During Measurement Period&quot;:\n &quot;Has 90 or More Active Glucocorticoid Medication Days&quot;\n or exists ( [Condition: &quot;Osteoporosis With Current Fracture&quot;]\n union [Condition: &quot;Malabsorption Syndromes&quot;]\n union [Condition: &quot;Chronic Malnutrition&quot;]\n union [Condition: &quot;Chronic Liver Disease&quot;]\n union [Condition: &quot;Rheumatoid Arthritis&quot;]\n union [Condition: &quot;Hyperthyroidism&quot;]\n union [Condition: &quot;Type 1 Diabetes&quot;]\n union [Condition: &quot;End Stage Renal Disease&quot;]\n union [Condition: &quot;Osteogenesis Imperfecta&quot;]\n union [Condition: &quot;Ankylosing Spondylitis&quot;]\n union [Condition: &quot;Psoriatic Arthritis&quot;]\n union [Condition: &quot;Ehlers Danlos Syndrome&quot;]\n union [Condition: &quot;Cushings Syndrome&quot;]\n union [Condition: &quot;Hyperparathyroidism&quot;]\n union [Condition: &quot;Marfan's Syndrome&quot;]\n union [Condition: &quot;Lupus&quot;]\n union [Condition: &quot;Multiple Myeloma&quot;]\n union [Condition: &quot;Premature Menopause&quot;]\n union [Condition: &quot;Eating Disorders&quot;]\n union [Condition: &quot;Amenorrhea&quot;]\n ).diagnosisInPatientHistory ( )\n or exists ( [Procedure: &quot;Chemotherapy&quot;] ).procedureInPatientHistory ( )\n or &quot;Has Double or Bilateral Oophorectomy&quot;\n or &quot;Has Organ Transplants&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Denominator Exclusions</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Denominator Exclusions&quot;:\n &quot;Has Risk Factor Active During the Measurement Period&quot;\n or &quot;Has Risk Factor Any Time in History Prior to Measurement Period&quot;\n or &quot;Has Risk Factor Any Time in History or During Measurement Period&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Osteoporosis Fracture Risk Assessment Prior to First DXA Scan</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Osteoporosis Fracture Risk Assessment Prior to First DXA Scan&quot;:\n ( ( ( ( [Observation: &quot;Major osteoporotic fracture 10-year probability [Likelihood] Fracture Risk Assessment&quot;] ).isAssessmentPerformed ( ) ) FRAX\n where FRAX.value &gt;= 8.4 '%'\n )\n union ( ( ( [Observation: &quot;Osteoporosis Risk Assessment Instrument&quot;] ).isAssessmentPerformed ( ) ) ORAI\n where ORAI.value as Integer &gt;= 9\n )\n union ( ( ( [Observation: &quot;Osteoporosis Index of Risk panel&quot;] ).isAssessmentPerformed ( ) ) OSIRIS\n where OSIRIS.value as Quantity &lt; 1.0\n )\n union ( ( ( [Observation: &quot;Osteoporosis Self-Assessment Tool&quot;] ).isAssessmentPerformed ( ) ) OST\n where OST.value as Quantity &lt; 2.0\n ) ) RiskAssessment\n where start of RiskAssessment.effective.toInterval ( ) before First(&quot;DXA Scan Order During Measurement Period&quot;).authoredOn</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>Numerator Exclusion</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define &quot;Numerator Exclusion&quot;:\n exists &quot;Osteoporosis Fracture Risk Assessment Prior to First DXA Scan&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isDiagnosticStudyOrder</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Diagnostic Study, Order: active and completed only\ndefine fluent function isDiagnosticStudyOrder(ServiceRequest List&lt;ServiceRequest&gt;):\n ServiceRequest S\n where S.status in { 'active', 'completed' }\n and S.intent = 'order'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>toInterval</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of DateTime, Quanitty, Interval&lt;DateTime&gt;, or Interval&lt;Quantity&gt; types\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\nrepresentations for timing-valued elements in QICore, allowing this function to be used across any resource.\nThe input can be provided as a DateTime, Quantity, Interval&lt;DateTime&gt; or Interval&lt;Quantity&gt;.\nThe intent of this function is to provide a clear and concise mechanism to treat single\nelements that have multiple possible representations as intervals so that logic doesn't have to account\nfor the variability. More complex calculations (such as medication request period or dispense period\ncalculation) need specific guidance and consideration. That guidance may make use of this function, but\nthe focus of this function is on single element calculations where the semantics are unambiguous.\nIf the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.\nIf the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,\nand the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.\nIf the input is a DateTime Interval, the result is the input.\nIf the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result\nis a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending\nimmediately before one year later than the date the patient turned the age given as the end of the quantity interval.\nIf the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval\n*/\ndefine fluent function toInterval(choice Choice&lt;DateTime, Quantity, Interval&lt;DateTime&gt;, Interval&lt;Quantity&gt;, Timing&gt;):\n case\n\t when choice is DateTime then\n \tInterval[choice as DateTime, choice as DateTime]\n\t\twhen choice is Interval&lt;DateTime&gt; then\n \t\tchoice as Interval&lt;DateTime&gt;\n\t\twhen choice is Quantity then\n\t\t Interval[Patient.birthDate + (choice as Quantity),\n\t\t\t Patient.birthDate + (choice as Quantity) + 1 year)\n\t\twhen choice is Interval&lt;Quantity&gt; then\n\t\t Interval[Patient.birthDate + (choice.low as Quantity),\n\t\t\t Patient.birthDate + (choice.high as Quantity) + 1 year)\n\t\twhen choice is Timing then\n Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval&lt;DateTime&gt;\n\t\telse\n\t\t\tnull as Interval&lt;DateTime&gt;\n\tend</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isEncounterPerformed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Encounter, Performed\n//General usage unless required otherwise by measure intent (e.g., follow-up encounters)\ndefine fluent function isEncounterPerformed(Enc List&lt;Encounter&gt;):\n Enc E\n where E.status in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>FHIRHelpers</td>\n \n \n <td>ToConcept</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isObservationBMI</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define fluent function isObservationBMI(Obs List&lt;&quot;QICore.observation-bmi&quot;&gt;):\n Obs O\n where O.status in { 'final', 'amended', 'corrected' }</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isAssessmentPerformed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//This library contains functions that are based on QDM 5.6 to QICore 4.1.1 March 2023 (https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns---QICore-v4.1.1). The functions may appear similar to some QICoreCommon functions but different in that they have constraints that are relevant for measures authored by NCQA.\n\n//Assessment, Performed\ndefine fluent function isAssessmentPerformed(Obs List&lt;Observation&gt;):\n Obs O\n where O.status in { 'final', 'amended', 'corrected' }\n and exists ( O.category ObservationCategory\n where ( ObservationCategory ) ~ &quot;survey&quot;\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>prevalenceInterval</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns an interval representing the normalized prevalence period of a given Condition.\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\nonset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting \ninterval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.\n*/\ndefine fluent function prevalenceInterval(condition Condition):\nif condition.clinicalStatus ~ &quot;active&quot;\n or condition.clinicalStatus ~ &quot;recurrence&quot;\n or condition.clinicalStatus ~ &quot;relapse&quot; then\n Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]\nelse\n (end of condition.abatementInterval()) abatementDate\n return if abatementDate is null then\n Interval[start of condition.onset.toInterval(), abatementDate)\n else\n Interval[start of condition.onset.toInterval(), abatementDate]</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isProcedurePerformed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Procedure, Performed\ndefine fluent function isProcedurePerformed(Proc List&lt;Procedure&gt;):\n Proc P\n where P.status ~ 'completed'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isMedicationActive</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Medication, Active\ndefine fluent function isMedicationActive(MedicationRequest List&lt;MedicationRequest&gt;):\n MedicationRequest M\n where M.status = 'active'\n and M.intent = 'order'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>MedicationRequestPeriod</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\nNow that we have a ToDaily function, we can approach calculation of the\nduration of medication for an order. First, consider the definitions\nfor each element:\n* 1 and only 1 dosageInstruction\n* 1 and only 1 doseAndRate\n* 1 timing with 1 repeat\n* frequency, frequencyMax, defaulting to 1\n* period, periodUnit, defaulting to 1 'd'\n* doseQuantity or doseRange\n* timeOfDay\n* authoredOn: The date the prescription was written\n* dispenseRequest.validityPeriod: Time period supply is authorized for\n* dispenseRequest.quantity: amount of medication supplied per dispense\n* dispenseRequest.numberOfRepeatsAllowed: number of refills authorized\n* dispenseRequest.expectedSupplyDuration: number of days supply per dispense\n* dosageInstruction.timing.repeat.boundsDuration: total duration of the repeat\n* dosageInstruction.timing.repeat.boundsRange: range of durations of the repeat\n* dosageInstruction.timing.repeat.boundsPeriod: period bounds of the repeat\n* dosageInstruction.timing.repeat.count: number of times to repeat\n* dosageInstruction.timing.repeat.countMax: maximum number of times to repeat\n* dosageInstruction.timing.repeat.frequency: event occurs frequency times per period\n* dosageInstruction.timing.repeat.frequencyMax: event occurs up to frequencyMax times per period\n* dosageInstruction.timing.repeat.period: event occurs frequency times per period\n* dosageInstruction.timing.repeat.periodMax: upper limit of period\n* dosageInstruction.timing.repeat.periodUnit: period duration (s | min | h | d | wk | mo | a)\n* dosageInstruction.timing.repeat.timeOfDay: time of day for the event (0..*)\n* dosageInstruction.timing.repeat.when: event timing (HS | WAKE | C | CM | CD | CV | AC | ACM...)\n* dosageInstruction.timing.code: BID | TID | QID | AM | PM | QD | QOD...\n* dosageInstruction.asNeeded\n* dosageInstruction.doseAndRate.doseQuantity\n* dosageInstruction.doseAndRate.doseRange\nIf expectedSupplyDuration is present, then the duration is\n expectedSupplyDuration * (1 + numberOfRepeatsAllowed)\nIf expectedSupplyDuration is not present, then it must be calculated based on the quantity, dosage, and frequency:\n (quantity / (dosage * frequency)) * (1 + numberOfRepeatsAllowed)\n dosage: Coalesce(end of doseAndRate.doseRange, doseAndRate.doseQuantity)\n frequency: Coalesce(frequencyMax, frequency)\n period: Quantity(period, periodUnit)\nIf expectedSupplyDuration is not present and cannot be calculated, and the boundsPeriod is present (and completely specified), we can use that directly\n dosage.timing.repeat.boundsPeriod\nThis calculation results in a number of days, which can then be turned into a period by anchoring that to the\nstart of the validityPeriod or the authoredOn:\n Interval[earliestDispensable, earliestDispensable + expectedSupplyDuration - 1]\n earliestDispensable: Coalesce(start of validityPeriod, authoredOn)\nThe following function illustrates this completely:\n*/\n\n/*\nCalculates the Medication Period for a single MedicationRequest.\nMedicationRequest instances provided to this function are expected\nto conform to the [MMEMedicationRequest](http://build.fhir.org/ig/cqframework/opioid-mme-r4/StructureDefinition-mmemedicationrequest.html)\nprofile, which expects:\n* 1 and only 1 dosageInstruction, multiple dosageInstruction elements will result in an error\n* 1 and only 1 doseAndRate, multiple doseAndRate elements will result in an error\n* 1 timing with 1 repeat, missing timing or repeat elements will result in a null\n* frequency, frequencyMax, defaulting to 1\n* period, periodUnit, defaulting to 1 'd'\n* timeOfDay\n* doseQuantity or doseRange, missing doseQuantity and doseRange will result in a null\nNote that MedicationRequest status is not considered by this calculation, as the\nlist of MedicationRequest instances provided to this function should already have\nconsidered appropriate statuses, depending on the use case, typically `completed`.\n*/\ndefine function MedicationRequestPeriod(Request &quot;MedicationRequest&quot;):\n Request R\n let\n dosage: singleton from R.dosageInstruction,\n doseAndRate: singleton from dosage.doseAndRate,\n timing: dosage.timing,\n frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),\n period: Quantity(timing.repeat.period, timing.repeat.periodUnit),\n doseRange: doseAndRate.dose,\n doseQuantity: doseAndRate.dose,\n dose: Coalesce(end of doseRange, doseQuantity),\n dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),\n boundsPeriod: timing.repeat.bounds as Interval&lt;DateTime&gt;,\n daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value,\n quantity: R.dispenseRequest.quantity,\n refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),\n startDate:\n Coalesce(\n date from start of boundsPeriod,\n date from R.authoredOn,\n date from start of R.dispenseRequest.validityPeriod\n ),\n totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)\n return\n if startDate is not null and totalDaysSupplied is not null then\n Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]\n else if startDate is not null and boundsPeriod.&quot;high&quot; is not null then\n Interval[startDate, date from end of boundsPeriod]\n else\n null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>Quantity</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/**********************************************************************/\n/* Functions in this region are copied from opioid-mme-r4 */\n/**********************************************************************/\n\ndefine function Quantity(value Decimal, unit String):\n if value is not null then\n System.Quantity { value: value, unit: unit }\n else\n null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>ToDaily</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n Goal is to get to number of days\n Two broad approaches to the calculation:\n 1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered\n 2) Based on relevant period, determine a covered interval and calculate the length of that interval in days\nThis topic covers several use cases and illustrates how to calculate Cumulative\nMedication Duration for each type of medication resource using the supply and\nfrequency approach.\n*/\n\n/*\n For the first approach, we need to get from frequency to a frequency/day\n So we define ToDaily\n*/\n\n/*\n Calculates daily frequency given frequency within a period\n*/\ndefine function ToDaily(frequency System.Integer, period System.Quantity):\n case period.unit\n when 'h' then frequency * (24.0 / period.value)\n when 'min' then frequency * (24.0 / period.value) * 60\n when 's' then frequency * (24.0 / period.value) * 60 * 60\n when 'd' then frequency * (24.0 / period.value) / 24\n when 'wk' then frequency * (24.0 / period.value) / (24 * 7)\n when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n when 'hour' then frequency * (24.0 / period.value)\n when 'minute' then frequency * (24.0 / period.value) * 60\n when 'second' then frequency * (24.0 / period.value) * 60 * 60\n when 'day' then frequency * (24.0 / period.value) / 24\n when 'week' then frequency * (24.0 / period.value) / (24 * 7)\n when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n when 'hours' then frequency * (24.0 / period.value)\n when 'minutes' then frequency * (24.0 / period.value) * 60\n when 'seconds' then frequency * (24.0 / period.value) * 60 * 60\n when 'days' then frequency * (24.0 / period.value) / 24\n when 'weeks' then frequency * (24.0 / period.value) / (24 * 7)\n when 'months' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'years' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n else Message(null, true, 'CMDLogic.ToDaily.UnknownUnit', ErrorLevel, 'Unknown unit ' &amp; period.unit)\n end</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isMedicationOrder</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Medication, Order: active and completed only\ndefine fluent function isMedicationOrder(MedicationRequest List&lt;MedicationRequest&gt;):\n MedicationRequest M\n where M.status in { 'active', 'completed' }\n and M.intent = 'order'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>cumulativeDuration</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\nNow that we have functions for determining the medication period for individual\nprescriptions, administrations, and dispenses, we can combine those using\nan overall cumulative medication duration calculation.\nThere are two broad approaches to calculating cumulative duration, one that _collapses_\noverlapping intervals so that calculations are not duplicated, and one that _rolls out_\noverlapping intervals so that the durations are laid end-to-end.\nFirst, we define a function that simply calculates CumulativeDuration of a set of\nintervals:\n*/\ndefine fluent function cumulativeDuration(Intervals List&lt;Interval&lt;Date&gt;&gt;):\n if Intervals is not null then ( Sum((collapse Intervals per day)X\n return all(difference in days between start of X and \n end of X\n )+ 1\n )\n ) \n else null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>medicationRequestPeriod</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define fluent function medicationRequestPeriod(Request &quot;MedicationRequest&quot;):\n Request R\n let\n dosage: singleton from R.dosageInstruction,\n doseAndRate: singleton from dosage.doseAndRate,\n timing: dosage.timing,\n frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),\n period: Quantity(timing.repeat.period, timing.repeat.periodUnit),\n doseRange: doseAndRate.dose,\n doseQuantity: doseAndRate.dose,\n dose: Coalesce(end of doseRange, doseQuantity),\n dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),\n boundsPeriod: timing.repeat.bounds as Interval&lt;DateTime&gt;,\n daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value,\n quantity: R.dispenseRequest.quantity,\n refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),\n startDate:\n Coalesce(\n date from start of boundsPeriod,\n date from R.authoredOn,\n date from start of R.dispenseRequest.validityPeriod\n ),\n totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)\n return\n if startDate is not null and totalDaysSupplied is not null then\n Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]\n else if startDate is not null and boundsPeriod.&quot;high&quot; is not null then\n Interval[startDate, date from end of boundsPeriod]\n else\n null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>diagnosisInPatientHistory</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define fluent function &quot;diagnosisInPatientHistory&quot;(Condition List&lt;&quot;Condition&quot;&gt;):\n ( Condition ) Dx\n where Dx.prevalenceInterval ( ) starts on or before day of end of &quot;Measurement Period&quot;</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AppropriateDXAScansForWomenUnder65FHIR</td>\n \n \n <td>procedureInPatientHistory</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define fluent function &quot;procedureInPatientHistory&quot;(Procedure List&lt;&quot;Procedure&quot;&gt;):\n ( ( Procedure ).isProcedurePerformed ( ) ) Proc\n where Proc.performed.toInterval ( ) ends on or before day of end of &quot;Measurement Period&quot;</code></pre>\n </td>\n \n </tr>\n \n </table>\n </td>\n </tr>\n \n \n \n\n </table>\n</div>"
      },
      "contained" : [
        {
          "resourceType" : "Library",
          "id" : "effective-data-requirements",
          "extension" : [
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://www.ama-assn.org/go/cpt",
                "code" : "99429",
                "display" : "Unlisted preventive medicine service"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
                "code" : "survey",
                "display" : "survey"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://loinc.org",
                "code" : "74013-4",
                "display" : "Alcoholic drinks per day"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://snomed.info/sct",
                "code" : "24028007",
                "display" : "Right (qualifier value)"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://snomed.info/sct",
                "code" : "7771000",
                "display" : "Left (qualifier value)"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://loinc.org",
                "code" : "90265-0",
                "display" : "Major osteoporotic fracture 10-year probability [Likelihood] Fracture Risk Assessment"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://loinc.org",
                "code" : "98139-9",
                "display" : "Osteoporosis Risk Assessment Instrument"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://loinc.org",
                "code" : "98133-2",
                "display" : "Osteoporosis Index of Risk panel"
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
              "valueCoding" : {
                "system" : "http://loinc.org",
                "code" : "98146-4",
                "display" : "Osteoporosis Self-Assessment Tool"
              }
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "DXA Scan Order During Measurement Period"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"DXA Scan Order During Measurement Period\":\n ( ( [ServiceRequest: \"DXA (Dual energy Xray Absorptiometry) Scan\"] ).isDiagnosticStudyOrder ( ) ) DXA\n where DXA.authoredOn.toInterval ( ) during \"Measurement Period\"\n // and DXA.doNotPerform is not true\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447 \n \n \n sort by authoredOn asc"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 0
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Numerator"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Numerator\":\n exists \"DXA Scan Order During Measurement Period\""
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 1
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Qualifying Encounter"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Qualifying Encounter\":\n ( ( [Encounter: \"Office Visit\"]\n union [Encounter: \"Preventive Care Services Established Office Visit, 18 and Up\"]\n union ( [Encounter] E\n where exists ( ( E.type ) T\n where T ~ \"Unlisted preventive medicine service\"\n )\n )\n union [Encounter: \"Preventive Care Services Initial Office Visit, 18 and Up\"]\n union [Encounter: \"Outpatient Consultation\"]\n union [Encounter: \"Virtual Encounter\"]\n union [Encounter: \"Telephone Visits\"]\n ).isEncounterPerformed ( ) ) ValidEncounters\n where ValidEncounters.period.toInterval ( ) during day of \"Measurement Period\""
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 2
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Initial Population"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Initial Population\":\n AgeInYearsAt(date from start of \"Measurement Period\") in Interval[50, 63]\n and Patient.gender = 'female'\n and exists \"Qualifying Encounter\""
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 3
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Denominator"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Denominator\":\n \"Initial Population\""
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 4
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "First BMI in Measurement Period"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"First BMI in Measurement Period\":\n First((([\"observation-bmi\"]).isObservationBMI()) BMIRatio\n where BMIRatio.effective.toInterval() during \"Measurement Period\"\n and BMIRatio.value as Quantity is not null\n sort by start of effective.toInterval()\n )"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 5
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "First BMI in Measurement Period Less Than or Equal to 20 kg m2"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"First BMI in Measurement Period Less Than or Equal to 20 kg m2\":\n \"First BMI in Measurement Period\" FirstBMI\n where FirstBMI.value as Quantity <= 20 'kg/m2'"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 6
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "First Average Number of Drinks Assessments Indicating More Than Two Per Day"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"First Average Number of Drinks Assessments Indicating More Than Two Per Day\":\n First((([Observation: \"Alcoholic drinks per day\"]).isAssessmentPerformed()) AverageDrinks\n where start of AverageDrinks.effective.toInterval() during \"Measurement Period\"\n and AverageDrinks.value as Quantity > 2 '{drinks}/d'\n sort by start of effective.toInterval()\n )"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 7
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Has Risk Factor Active During the Measurement Period"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Has Risk Factor Active During the Measurement Period\":\n \"First BMI in Measurement Period Less Than or Equal to 20 kg m2\" is not null\n or \"First Average Number of Drinks Assessments Indicating More Than Two Per Day\" is not null"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 8
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Has Risk Factor Any Time in History Prior to Measurement Period"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Has Risk Factor Any Time in History Prior to Measurement Period\":\n exists ( ( [Condition: \"Osteoporosis Without Current Fracture\"] OsteoporosisDiagnosis\n where OsteoporosisDiagnosis.prevalenceInterval ( ) starts before start of \"Measurement Period\"\n )\n union ( [Condition: \"Osteopenia\"] OsteopeniaDiagnosis\n where OsteopeniaDiagnosis.prevalenceInterval ( ) starts before start of \"Measurement Period\"\n )\n union ( ( ( ( [Procedure: \"Gastric Bypass Surgery\"] ).isProcedurePerformed ( ) ) GastricBypass\n where GastricBypass.performed.toInterval ( ) ends before start of \"Measurement Period\"\n )\n union ( ( ( [MedicationRequest: \"Aromatase Inhibitors\"] ).isMedicationActive ( ) ) AromataseInhibitorActive\n where CMD.\"MedicationRequestPeriod\" ( AromataseInhibitorActive ) starts before start of \"Measurement Period\"\n )\n union ( ( ( [MedicationRequest: \"Aromatase Inhibitors\"] ).isMedicationOrder ( ) ) AromataseInhibitorOrder\n where AromataseInhibitorOrder.authoredOn.toInterval ( ) before start of \"Measurement Period\"\n )\n union ( ( [Observation: \"History of hip fracture in parent\"] ).isAssessmentPerformed ( ) ) ParentFractureHistory\n where start of ParentFractureHistory.effective.toInterval ( ) before start of \"Measurement Period\"\n )\n )"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 9
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Glucocorticoid Active Medication Days"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Glucocorticoid Active Medication Days\":\n ( ( ( ( [MedicationRequest: \"Glucocorticoids (oral only)\"] ).isMedicationActive ( ) ) OralGlucocorticoid\n where ( OralGlucocorticoid ).medicationRequestPeriod ( ) starts before end of \"Measurement Period\" ) Glucocorticoid\n return ( Glucocorticoid ).medicationRequestPeriod ( )\n intersect Interval[Patient.birthDate, date from end of \"Measurement Period\"]\n ).cumulativeDuration ( )"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 10
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Has 90 or More Active Glucocorticoid Medication Days"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Has 90 or More Active Glucocorticoid Medication Days\":\n \"Glucocorticoid Active Medication Days\" >= 90"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 11
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Has Double or Bilateral Oophorectomy"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Has Double or Bilateral Oophorectomy\":\n exists ( ( [Procedure: \"Bilateral Oophorectomy\"] ).procedureInPatientHistory ( ) )\n or exists ( ( [Procedure: \"Evidence of Bilateral Oophorectomy\"] ).procedureInPatientHistory ( ) )\n or ( exists ( ( ( [Procedure: \"Unilateral Oophorectomy, Unspecified Laterality\"] UnilateralOophorectomy\n where exists ( UnilateralOophorectomy.bodySite C\n where C ~ \"Right (qualifier value)\"\n )\n )\n union [Procedure: \"Unilateral Oophorectomy Right\"]\n ).procedureInPatientHistory ( )\n )\n and exists ( ( ( [Procedure: \"Unilateral Oophorectomy, Unspecified Laterality\"] UnilateralOophorectomy\n where exists ( UnilateralOophorectomy.bodySite D\n where D ~ \"Left (qualifier value)\"\n )\n )\n union [Procedure: \"Unilateral Oophorectomy Left\"]\n ).procedureInPatientHistory ( )\n )\n )"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 12
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Has Organ Transplants"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Has Organ Transplants\":\n exists ( [Procedure: \"Major Transplant\"]\n union [Procedure: \"Kidney Transplant\"]\n union [Procedure: \"Bone Marrow Transplant\"]\n ).procedureInPatientHistory ( )"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 13
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Has Risk Factor Any Time in History or During Measurement Period"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Has Risk Factor Any Time in History or During Measurement Period\":\n \"Has 90 or More Active Glucocorticoid Medication Days\"\n or exists ( [Condition: \"Osteoporosis With Current Fracture\"]\n union [Condition: \"Malabsorption Syndromes\"]\n union [Condition: \"Chronic Malnutrition\"]\n union [Condition: \"Chronic Liver Disease\"]\n union [Condition: \"Rheumatoid Arthritis\"]\n union [Condition: \"Hyperthyroidism\"]\n union [Condition: \"Type 1 Diabetes\"]\n union [Condition: \"End Stage Renal Disease\"]\n union [Condition: \"Osteogenesis Imperfecta\"]\n union [Condition: \"Ankylosing Spondylitis\"]\n union [Condition: \"Psoriatic Arthritis\"]\n union [Condition: \"Ehlers Danlos Syndrome\"]\n union [Condition: \"Cushings Syndrome\"]\n union [Condition: \"Hyperparathyroidism\"]\n union [Condition: \"Marfan's Syndrome\"]\n union [Condition: \"Lupus\"]\n union [Condition: \"Multiple Myeloma\"]\n union [Condition: \"Premature Menopause\"]\n union [Condition: \"Eating Disorders\"]\n union [Condition: \"Amenorrhea\"]\n ).diagnosisInPatientHistory ( )\n or exists ( [Procedure: \"Chemotherapy\"] ).procedureInPatientHistory ( )\n or \"Has Double or Bilateral Oophorectomy\"\n or \"Has Organ Transplants\""
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 14
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Denominator Exclusions"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Denominator Exclusions\":\n \"Has Risk Factor Active During the Measurement Period\"\n or \"Has Risk Factor Any Time in History Prior to Measurement Period\"\n or \"Has Risk Factor Any Time in History or During Measurement Period\""
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 15
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Osteoporosis Fracture Risk Assessment Prior to First DXA Scan"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Osteoporosis Fracture Risk Assessment Prior to First DXA Scan\":\n ( ( ( ( [Observation: \"Major osteoporotic fracture 10-year probability [Likelihood] Fracture Risk Assessment\"] ).isAssessmentPerformed ( ) ) FRAX\n where FRAX.value >= 8.4 '%'\n )\n union ( ( ( [Observation: \"Osteoporosis Risk Assessment Instrument\"] ).isAssessmentPerformed ( ) ) ORAI\n where ORAI.value as Integer >= 9\n )\n union ( ( ( [Observation: \"Osteoporosis Index of Risk panel\"] ).isAssessmentPerformed ( ) ) OSIRIS\n where OSIRIS.value as Quantity < 1.0\n )\n union ( ( ( [Observation: \"Osteoporosis Self-Assessment Tool\"] ).isAssessmentPerformed ( ) ) OST\n where OST.value as Quantity < 2.0\n ) ) RiskAssessment\n where start of RiskAssessment.effective.toInterval ( ) before First(\"DXA Scan Order During Measurement Period\").authoredOn"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 16
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "AppropriateDXAScansForWomenUnder65FHIR"
                },
                {
                  "url" : "name",
                  "valueString" : "Numerator Exclusion"
                },
                {
                  "url" : "statement",
                  "valueString" : "define \"Numerator Exclusion\":\n exists \"Osteoporosis Fracture Risk Assessment Prior to First DXA Scan\""
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 17
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "Status"
                },
                {
                  "url" : "name",
                  "valueString" : "isDiagnosticStudyOrder"
                },
                {
                  "url" : "statement",
                  "valueString" : "//Diagnostic Study, Order: active and completed only\ndefine fluent function isDiagnosticStudyOrder(ServiceRequest List<ServiceRequest>):\n ServiceRequest S\n where S.status in { 'active', 'completed' }\n and S.intent = 'order'"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 18
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "QICoreCommon"
                },
                {
                  "url" : "name",
                  "valueString" : "toInterval"
                },
                {
                  "url" : "statement",
                  "valueString" : "/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\nrepresentations for timing-valued elements in QICore, allowing this function to be used across any resource.\nThe input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.\nThe intent of this function is to provide a clear and concise mechanism to treat single\nelements that have multiple possible representations as intervals so that logic doesn't have to account\nfor the variability. More complex calculations (such as medication request period or dispense period\ncalculation) need specific guidance and consideration. That guidance may make use of this function, but\nthe focus of this function is on single element calculations where the semantics are unambiguous.\nIf the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.\nIf the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,\nand the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.\nIf the input is a DateTime Interval, the result is the input.\nIf the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result\nis a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending\nimmediately before one year later than the date the patient turned the age given as the end of the quantity interval.\nIf the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval\n*/\ndefine fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):\n case\n\t when choice is DateTime then\n \tInterval[choice as DateTime, choice as DateTime]\n\t\twhen choice is Interval<DateTime> then\n \t\tchoice as Interval<DateTime>\n\t\twhen choice is Quantity then\n\t\t Interval[Patient.birthDate + (choice as Quantity),\n\t\t\t Patient.birthDate + (choice as Quantity) + 1 year)\n\t\twhen choice is Interval<Quantity> then\n\t\t Interval[Patient.birthDate + (choice.low as Quantity),\n\t\t\t Patient.birthDate + (choice.high as Quantity) + 1 year)\n\t\twhen choice is Timing then\n Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>\n\t\telse\n\t\t\tnull as Interval<DateTime>\n\tend"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 19
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "Status"
                },
                {
                  "url" : "name",
                  "valueString" : "isEncounterPerformed"
                },
                {
                  "url" : "statement",
                  "valueString" : "//Encounter, Performed\n//General usage unless required otherwise by measure intent (e.g., follow-up encounters)\ndefine fluent function isEncounterPerformed(Enc List<Encounter>):\n Enc E\n where E.status in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 20
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "FHIRHelpers"
                },
                {
                  "url" : "name",
                  "valueString" : "ToConcept"
                },
                {
                  "url" : "statement",
                  "valueString" : "/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 21
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "Status"
                },
                {
                  "url" : "name",
                  "valueString" : "isObservationBMI"
                },
                {
                  "url" : "statement",
                  "valueString" : "define fluent function isObservationBMI(Obs List<\"QICore.observation-bmi\">):\n Obs O\n where O.status in { 'final', 'amended', 'corrected' }"
                },
                {
                  "url" : "displaySequence",
                  "valueInteger" : 22
                }
              ],
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
            },
            {
              "extension" : [
                {
                  "url" : "libraryName",
                  "valueString" : "S "boolean"
            }
          ],
          "dataRequirement" : [
            {
              "type" : "Patient",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"
              ]
            },
            {
              "type" : "ServiceRequest",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest"
              ],
              "mustSupport" : [
                "code",
                "authoredOn",
                "authoredOn.value",
                "status",
                "status.value",
                "intent",
                "intent.value"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1051"
                }
              ]
            },
            {
              "type" : "Encounter",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
              ],
              "mustSupport" : [
                "type",
                "status",
                "status.value",
                "period"
              ]
            },
            {
              "type" : "Encounter",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
              ],
              "mustSupport" : [
                "type",
                "status",
                "status.value",
                "period"
              ],
              "codeFilter" : [
                {
                  "path" : "type",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"
                }
              ]
            },
            {
              "type" : "Encounter",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
              ],
              "mustSupport" : [
                "type",
                "status",
                "status.value",
                "period"
              ],
              "codeFilter" : [
                {
                  "path" : "type",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025"
                }
              ]
            },
            {
              "type" : "Encounter",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
              ],
              "mustSupport" : [
                "type",
                "status",
                "status.value",
                "period"
              ],
              "codeFilter" : [
                {
                  "path" : "type",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023"
                }
              ]
            },
            {
              "type" : "Encounter",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
              ],
              "mustSupport" : [
                "type",
                "status",
                "status.value",
                "period"
              ],
              "codeFilter" : [
                {
                  "path" : "type",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008"
                }
              ]
            },
            {
              "type" : "Encounter",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
              ],
              "mustSupport" : [
                "type",
                "status",
                "status.value",
                "period"
              ],
              "codeFilter" : [
                {
                  "path" : "type",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089"
                }
              ]
            },
            {
              "type" : "Encounter",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
              ],
              "mustSupport" : [
                "type",
                "status",
                "status.value",
                "period"
              ],
              "codeFilter" : [
                {
                  "path" : "type",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080"
                }
              ]
            },
            {
              "type" : "Observation",
              "profile" : [
                "http://hl7.org/fhir/StructureDefinition/bmi"
              ],
              "mustSupport" : [
                "effective",
                "value",
                "status",
                "status.value"
              ]
            },
            {
              "type" : "Observation",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
              ],
              "mustSupport" : [
                "code",
                "effective",
                "value",
                "status",
                "status.value",
                "category"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "code" : [
                    {
                      "system" : "http://loinc.org",
                      "code" : "74013-4",
                      "display" : "Alcoholic drinks per day"
                    }
                  ]
                }
              ],
              "dateFilter" : [
                {
                  "path" : "effective",
                  "valuePeriod" : {
                    "extension" : [
                      {
                        "url" : "http://hl7.org/fhir/StructureDefinition/cqf-expression",
                        "valueExpression" : {
                          "language" : "text/cql-identifier",
                          "expression" : "Measurement Period"
                        }
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type" : "Observation",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
              ],
              "mustSupport" : [
                "code",
                "effective",
                "status",
                "status.value",
                "category"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1040"
                }
              ],
              "dateFilter" : [
                {
                  "path" : "effective"
                }
              ]
            },
            {
              "type" : "Observation",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
              ],
              "mustSupport" : [
                "code",
                "value",
                "status",
                "status.value",
                "category",
                "effective"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "code" : [
                    {
                      "system" : "http://loinc.org",
                      "code" : "90265-0",
                      "display" : "Major osteoporotic fracture 10-year probability [Likelihood] Fracture Risk Assessment"
                    }
                  ]
                }
              ]
            },
            {
              "type" : "Observation",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
              ],
              "mustSupport" : [
                "code",
                "value",
                "status",
                "status.value",
                "category",
                "effective"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "code" : [
                    {
                      "system" : "http://loinc.org",
                      "code" : "98139-9",
                      "display" : "Osteoporosis Risk Assessment Instrument"
                    }
                  ]
                }
              ]
            },
            {
              "type" : "Observation",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
              ],
              "mustSupport" : [
                "code",
                "value",
                "status",
                "status.value",
                "category",
                "effective"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "code" : [
                    {
                      "system" : "http://loinc.org",
                      "code" : "98133-2",
                      "display" : "Osteoporosis Index of Risk panel"
                    }
                  ]
                }
              ]
            },
            {
              "type" : "Observation",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
              ],
              "mustSupport" : [
                "code",
                "value",
                "status",
                "status.value",
                "category",
                "effective"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "code" : [
                    {
                      "system" : "http://loinc.org",
                      "code" : "98146-4",
                      "display" : "Osteoporosis Self-Assessment Tool"
                    }
                  ]
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1038"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1049"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1050"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1050"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1036"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1035"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1005"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.117.12.1015"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.103.12.1020"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1044"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1045"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1046"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1047"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.117.12.1009"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.117.12.1016"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1048"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.117.12.1010"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1011"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1013"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1039"
                }
              ]
            },
            {
              "type" : "Condition",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
              ],
              "mustSupport" : [
                "code"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1022"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "performed",
                "status",
                "status.value"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1050"
                }
              ],
              "dateFilter" : [
                {
                  "path" : "performed"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.471"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1048"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1032"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "bodySite",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1035"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1028"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1075"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.336"
                }
              ]
            },
            {
              "type" : "Procedure",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
              ],
              "mustSupport" : [
                "code",
                "status",
                "status.value",
                "performed"
              ],
              "codeFilter" : [
                {
                  "path" : "code",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.485"
                }
              ]
            },
            {
              "type" : "Medication",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication"
              ],
              "mustSupport" : [
                "id"
              ]
            },
            {
              "type" : "Medication",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication"
              ],
              "mustSupport" : [
                "id"
              ]
            },
            {
              "type" : "Medication",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication"
              ],
              "mustSupport" : [
                "id"
              ]
            },
            {
              "type" : "MedicationRequest",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"
              ],
              "mustSupport" : [
                "medication",
                "status",
                "status.value",
                "intent",
                "intent.value",
                "dosageInstruction",
                "dispenseRequest",
                "dispenseRequest.expectedSupplyDuration",
                "dispenseRequest.quantity",
                "dispenseRequest.numberOfRepeatsAllowed",
                "dispenseRequest.numberOfRepeatsAllowed.value",
                "authoredOn",
                "authoredOn.value",
                "dispenseRequest.validityPeriod"
              ],
              "codeFilter" : [
                {
                  "path" : "medication",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1265"
                }
              ]
            },
            {
              "type" : "MedicationRequest",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"
              ],
              "mustSupport" : [
                "medication.reference",
                "status",
                "status.value",
                "intent",
                "intent.value",
                "dosageInstruction",
                "dispenseRequest",
                "dispenseRequest.expectedSupplyDuration",
                "dispenseRequest.quantity",
                "dispenseRequest.numberOfRepeatsAllowed",
                "dispenseRequest.numberOfRepeatsAllowed.value",
                "authoredOn",
                "authoredOn.value",
                "dispenseRequest.validityPeriod"
              ]
            },
            {
              "type" : "MedicationRequest",
              "profile" : [
                "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"
              ],
              "mustSupport" : [
                "medication",
                "status",
                "status.value",
                "intent",
                "intent.value",
                "dosageInstruction",
                "dispenseRequest",
                "dispenseRequest.expectedSupplyDuration",
                "dispenseRequest.quantity",
                "dispenseRequest.numberOfRepeatsAllowed",
                "dispenseRequest.numberOfRepeatsAllowed.value",
                "authoredOn",
                "authoredOn.value",
                "dispenseRequest.validityPeriod"
              ],
              "codeFilter" : [
                {
                  "path" : "medication",
                  "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1266"
                }
              ]
            }
          ]
        }
      ],
      "extension" : [
        {
          "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem",
          "valueReference" : {
            "reference" : "Device/cqf-tooling"
          }
        },
        {
          "id" : "effective-data-requirements",
          "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements",
          "valueReference" : {
            "reference" : "#effective-data-requirements"
          }
        }
      ],
      "url" : "https://madie.cms.gov/Measure/AppropriateDXAScansForWomenUnder65FHIR",
      "identifier" : [
        {
          "use" : "usual",
          "type" : {
            "coding" : [
              {
                "system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
                "code" : "short-name"
              }
            ]
          },
          "system" : "https://madie.cms.gov/measure/shortName",
          "value" : "CMS249FHIR"
        },
        {
          "use" : "official",
          "type" : {
            "coding" : [
              {
                "system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
                "code" : "version-independent"
              }
            ]
          },
          "system" : "urn:ietf:rfc:3986",
          "value" : "urn:uuid:bf28f544-b8f0-49fd-8a67-ceafe0f0250e"
        },
        {
          "use" : "official",
          "type" : {
            "coding" : [
              {
                "system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
                "code" : "version-specific"
              }
            ]
          },
          "system" : "urn:ietf:rfc:3986",
          "value" : "urn:uuid:2d4f7526-6eff-4629-8d25-568b00177ed5"
        },
        {
          "use" : "official",
          "type" : {
            "coding" : [
              {
                "system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
                "code" : "endorser"
              }
            ]
          },
          "system" : "https://madie.cms.gov/measure/cbeId",
          "value" : "3475e",
          "assigner" : {
            "display" : "CMS Consensus Based Entity"
          }
        },
        {
          "use" : "official",
          "type" : {
            "coding" : [
              {
                "system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
                "code" : "publisher"
              }
            ]
          },
          "system" : "https://madie.cms.gov/measure/cmsId",
          "value" : "249FHIR",
          "assigner" : {
            "display" : "CMS"
          }
        }
      ],
      "version" : "0.2.001",
      "name" : "AppropriateDXAScansForWomenUnder65FHIR",
      "title" : "Appropriate Use of DXA Scans in Women Under 65 Years Who Do Not Meet the Risk Factor Profile for Osteoporotic FractureFHIR",
      "status" : "draft",
      "experimental" : false,
      "date" : "2024-12-16T18:17:09+00:00",
      "publisher" : "Centers for Medicare & Medicaid Services (CMS)",
      "contact" : [
        {
          "telecom" : [
            {
              "system" : "url",
              "value" : "https://www.cms.gov/"
            }
          ]
        }
      ],
      "description" : "Percentage of female patients 50 to 64 years of age without select risk factors for osteoporotic fracture who received an order for a dual-energy x-ray absorptiometry (DXA) scan during the measurement period",
      "purpose" : "UNKNOWN",
      "usage" : "Patients are excluded from the measure if they have one or more risk factors for osteoporosis, including a result indicating that the patient should be considered for bone density testing on one of the following risk assessment instruments:\n- 10-year probability of major osteoporotic fracture of 8.4 percent or higher as determined by the FRAX\n- ORAI score of >=9\n- OSIRIS score of <1\n- OST score of <2\n\nThis eCQM is a patient-based measure.\n\nThis FHIR-based measure has been derived from the QDM-based measure:/ CMS249v7.\n\nPlease refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).",
      "copyright" : "This Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). This measure was developed under CMS Contract No. HHSM-500-2013-13011I, Task Order HHSM-500-TO0001. Mathematica and the National Committee for Quality Assurance (NCQA) supported development of this electronic measure. NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications.\n\nLimited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. \n \nCPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use.\n\nThe measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use.\n\nThis material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. \n\nICD-10 copyright 2024 World Health Organization. All Rights Reserved.\n\nThe Measure uses RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the Measure and does not endorse or recommend this or any other product.\n\n“HL7” is the registered trademark of Health Level Seven International.",
      "effectivePeriod" : {
        "start" : "2025-01-01",
        "end" : "2025-12-31"
      },
      "author" : [
        {
          "name" : "National Committee for Quality Assurance",
          "telecom" : [
            {
              "system" : "url",
              "value" : "https://www.ncqa.org/"
            }
          ]
        }
      ],
      "library" : [
        "https://madie.cms.gov/Library/AppropriateDXAScansForWomenUnder65FHIR"
      ],
      "disclaimer" : "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. \n\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].",
      "scoring" : {
        "coding" : [
          {
            "system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
            "code" : "proportion",
            "display" : "Proportion"
          }
        ]
      },
      "rationale" : "This measure is expected to increase recording of patient risk for fracture data and decrease the amount of inappropriate DXA scans. Current osteoporosis guidelines recommend using bone measurement testing to assess osteoporosis risk in women 65 years and older. In postmenopausal women younger than age 65, guidelines recommend using a formal clinical risk assessment tool to establish a patient's risk for osteoporosis, in order to determine whether to screen a patient for osteoporosis using bone measurement testing. Clinical information, such as age, body mass index (BMI), parental hip fracture history, and alcohol use, can be used to determine a woman's fracture risk (U.S. Preventive Services Task Force [USPSTF], 2018). Additionally, there are potentially avoidable harms associated with screening for osteoporosis in general, including exposure to radiation, false positive exams, and resulting side effects from unnecessary osteoporosis medications, which add costs to an already burdened health care system (Lim, Hoeksema, & Sherin, 2009).",
      "clinicalRecommendationStatement" : "USPSTF 2018:\n\"The USPSTF recommends screening for osteoporosis with bone measurement testing to prevent osteoporotic fractures in women 65 years and older.\" This is a B recommendation. \n\n\"The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening for osteoporosis to prevent osteoporotic fractures in men.\" This is an I statement.\n\n\"The USPSTF recommends screening for osteoporosis with bone measurement testing to prevent osteoporotic fractures in postmenopausal women younger than 65 years who are at increased risk of osteoporosis, as determined by a formal clinical risk assessment tool.\" This is a B recommendation. \n\"For postmenopausal women younger than 65 years who have at least 1 risk factor, a reasonable approach to determine who should be screened with bone measurement testing is to use a clinical risk assessment tool.\" \n\n\"Several tools are available to assess osteoporosis risk: the Simple Calculated Osteoporosis Risk Estimate (SCORE; Merck), Osteoporosis Risk Assessment Instrument (ORAI), Osteoporosis Index of Risk (OSIRIS), and the Osteoporosis Self-Assessment Tool (OST). These tools seem to perform similarly and are moderately accurate at predicting osteoporosis. The Fracture Risk Assessment (FRAX) tool (University of Sheffield), which assesses a person's 10-year risk of fracture, is also a commonly used tool.\"\n\n\"Because the benefits of treatment are greater in persons at higher risk of fracture, one approach is to perform bone measurement testing in postmenopausal women younger than 65 years who have a 10-year FRAX risk of major osteoporotic fracture (MOF) (without DXA) greater than that of a 65-year-old white woman without major risk factors. For example, in the United States, a 65-year-old white woman of mean height and weight without major risk factors has a 10-year FRAX risk of MOF of 8.4%.\"",
      "group" : [
        {
          "id" : "66460da2a7a1805d3b737654",
          "extension" : [
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring",
              "valueCodeableConcept" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
                    "code" : "proportion",
                    "display" : "Proportion"
                  }
                ]
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis",
              "valueCode" : "boolean"
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type",
              "valueCodeableConcept" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-type",
                    "code" : "process",
                    "display" : "Process"
                  }
                ]
              }
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation",
              "valueCode" : "None"
            },
            {
              "url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation",
              "valueCodeableConcept" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-improvement-notation",
                    "code" : "decrease",
                    "display" : "increase"
                  }
                ]
              }
            }
          ],
          "population" : [
            {
              "id" : "F95058C6-D799-413C-AC62-13C71E3381FC",
              "code" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-population",
                    "code" : "initial-population",
                    "display" : "Initial Population"
                  }
                ]
              },
              "description" : "Female patients ages 50 to 63 years at the start of the measurement period with an encounter during the measurement period",
              "criteria" : {
                "language" : "text/cql-identifier",
                "expression" : "Initial Population"
              }
            },
            {
              "id" : "372915BA-B090-4434-83AA-0308E0F3D687",
              "code" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-population",
                    "code" : "denominator",
                    "display" : "Denominator"
                  }
                ]
              },
              "description" : "Equals Initial Population",
              "criteria" : {
                "language" : "text/cql-identifier",
                "expression" : "Denominator"
              }
            },
            {
              "id" : "6F9DCB48-B206-4E90-A57E-CACD85066D20",
              "code" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-population",
                    "code" : "denominator-exclusion",
                    "display" : "Denominator Exclusion"
                  }
                ]
              },
              "description" : "Exclude patients with one of the following risk factors.\n\nRisk factors are grouped by when they occur in relation to the measurement period.\n\nThe following risk factors must be active during the measurement period:\nBMI <= 20 kg/m2 (must be the first BMI of the measurement period)\nAlcohol consumption (> two units per day (one unit is 12 oz. of beer, 4 oz. of wine, or 1 oz. of liquor))\n\nThe following risk factors may occur at any time in the patient's history prior to the start of the measurement period:\nOsteoporosis\nOsteopenia\nGastric bypass\nAromatase inhibitors\nDocumentation of history of hip fracture in parent\n\nThe following risk factors may occur at any time in the patient's history or during the measurement period:\nGlucocorticoids [cumulative medication duration >= 90 days]\nOsteoporotic fracture\nMalabsorption Syndromes: celiac disease, inflammatory bowel disease, ulcerative colitis, Crohn's disease, cystic fibrosis, malabsorption\nChronic malnutrition\nChronic liver disease\nRheumatoid arthritis\nHyperthyroidism\nType I Diabetes \nEnd stage renal disease\nOsteogenesis imperfecta\nAnkylosing spondylitis\nPsoriatic arthritis\nEhlers-Danlos syndrome\nCushing's syndrome\nHyperparathyroidism\nMarfan syndrome\nLupus\nChemotherapy\nMultiple myeloma\nPremature menopause\nDouble or bilateral oophorectomy\nEating disorder\nAmenorrhea\nOrgan transplant",
              "criteria" : {
                "language" : "text/cql-identifier",
                "expression" : "Denominator Exclusions"
              }
            },
            {
              "id" : "40FD9383-3F9D-478E-932B-7F54498D843A",
              "code" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-population",
                    "code" : "numerator",
                    "display" : "Numerator"
                  }
                ]
              },
              "description" : "Female patients who received an order for at least one DXA scan in the measurement period",
              "criteria" : {
                "language" : "text/cql-identifier",
                "expression" : "Numerator"
              }
            },
            {
              "id" : "657177FF-34D1-403B-B745-43C53E84E0CE",
              "code" : {
                "coding" : [
                  {
                    "system" : "http://terminology.hl7.org/CodeSystem/measure-population",
                    "code" : "numerator-exclusion",
                    "display" : "Numerator Exclusion"
                  }
                ]
              },
              "description" : "Exclude patients with a result on one of the following tools, which indicates the patient should be considered for bone density testing, anytime in the patient’s history prior to the time of the first DXA scan during the measurement period:\nFRAX[R] ten-year probability of all major osteoporosis related fracture >= 8.4 percent\nORAI score of >=9 \nOSIRIS score of <1\nOST score of <2",
              "criteria" : {
                "language" : "text/cql-identifier",
                "expression" : "Numerator Exclusion"
              }
            }
          ]
        }
      ]
    }

    XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.